{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "plt.style.use('fivethirtyeight')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pd.read_csv('Train.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>grade_A_Component_1</th>\n",
       "      <th>grade_A_Component_2</th>\n",
       "      <th>max_luminosity</th>\n",
       "      <th>thickness</th>\n",
       "      <th>xmin</th>\n",
       "      <th>xmax</th>\n",
       "      <th>ymin</th>\n",
       "      <th>ymax</th>\n",
       "      <th>pixel_area</th>\n",
       "      <th>log_area</th>\n",
       "      <th>x_component_1</th>\n",
       "      <th>x_component_2</th>\n",
       "      <th>x_component_3</th>\n",
       "      <th>x_component_4</th>\n",
       "      <th>x_component_5</th>\n",
       "      <th>class</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>150</td>\n",
       "      <td>36</td>\n",
       "      <td>144</td>\n",
       "      <td>172</td>\n",
       "      <td>947225</td>\n",
       "      <td>947332</td>\n",
       "      <td>439</td>\n",
       "      <td>439.099273</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>134</td>\n",
       "      <td>55</td>\n",
       "      <td>1144</td>\n",
       "      <td>1152</td>\n",
       "      <td>2379058</td>\n",
       "      <td>2379624</td>\n",
       "      <td>329</td>\n",
       "      <td>329.205616</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>135</td>\n",
       "      <td>65</td>\n",
       "      <td>950</td>\n",
       "      <td>974</td>\n",
       "      <td>1038442</td>\n",
       "      <td>1036754</td>\n",
       "      <td>300</td>\n",
       "      <td>300.120598</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>123</td>\n",
       "      <td>35</td>\n",
       "      <td>41</td>\n",
       "      <td>220</td>\n",
       "      <td>1705580</td>\n",
       "      <td>1705604</td>\n",
       "      <td>6803</td>\n",
       "      <td>6803.778622</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>138</td>\n",
       "      <td>69</td>\n",
       "      <td>462</td>\n",
       "      <td>466</td>\n",
       "      <td>1088124</td>\n",
       "      <td>1086579</td>\n",
       "      <td>251</td>\n",
       "      <td>251.401943</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>127</td>\n",
       "      <td>72</td>\n",
       "      <td>246</td>\n",
       "      <td>256</td>\n",
       "      <td>1137516</td>\n",
       "      <td>1136929</td>\n",
       "      <td>177</td>\n",
       "      <td>177.184821</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>99</td>\n",
       "      <td>39</td>\n",
       "      <td>242</td>\n",
       "      <td>359</td>\n",
       "      <td>87212</td>\n",
       "      <td>87169</td>\n",
       "      <td>3369</td>\n",
       "      <td>3369.037497</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>136</td>\n",
       "      <td>38</td>\n",
       "      <td>48</td>\n",
       "      <td>202</td>\n",
       "      <td>697615</td>\n",
       "      <td>696534</td>\n",
       "      <td>6159</td>\n",
       "      <td>6159.902918</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>121</td>\n",
       "      <td>43</td>\n",
       "      <td>42</td>\n",
       "      <td>214</td>\n",
       "      <td>4401789</td>\n",
       "      <td>4401986</td>\n",
       "      <td>5667</td>\n",
       "      <td>5667.675157</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>115</td>\n",
       "      <td>99</td>\n",
       "      <td>1289</td>\n",
       "      <td>1304</td>\n",
       "      <td>1005611</td>\n",
       "      <td>1006124</td>\n",
       "      <td>281</td>\n",
       "      <td>281.072866</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   grade_A_Component_1  grade_A_Component_2  max_luminosity  thickness  xmin  \\\n",
       "0                    0                    1             150         36   144   \n",
       "1                    1                    0             134         55  1144   \n",
       "2                    1                    0             135         65   950   \n",
       "3                    0                    1             123         35    41   \n",
       "4                    1                    0             138         69   462   \n",
       "5                    1                    0             127         72   246   \n",
       "6                    0                    1              99         39   242   \n",
       "7                    0                    1             136         38    48   \n",
       "8                    0                    1             121         43    42   \n",
       "9                    1                    0             115         99  1289   \n",
       "\n",
       "   xmax     ymin     ymax  pixel_area     log_area  x_component_1  \\\n",
       "0   172   947225   947332         439   439.099273              0   \n",
       "1  1152  2379058  2379624         329   329.205616              1   \n",
       "2   974  1038442  1036754         300   300.120598              0   \n",
       "3   220  1705580  1705604        6803  6803.778622              0   \n",
       "4   466  1088124  1086579         251   251.401943              0   \n",
       "5   256  1137516  1136929         177   177.184821              0   \n",
       "6   359    87212    87169        3369  3369.037497              0   \n",
       "7   202   697615   696534        6159  6159.902918              0   \n",
       "8   214  4401789  4401986        5667  5667.675157              0   \n",
       "9  1304  1005611  1006124         281   281.072866              1   \n",
       "\n",
       "   x_component_2  x_component_3  x_component_4  x_component_5  class  \n",
       "0              0              1              0              0      1  \n",
       "1              0              0              0              0      1  \n",
       "2              0              0              0              0      2  \n",
       "3              0              1              0              0      1  \n",
       "4              0              0              0              0      2  \n",
       "5              1              0              0              0      1  \n",
       "6              0              1              0              0      1  \n",
       "7              0              1              0              0      1  \n",
       "8              0              1              0              0      1  \n",
       "9              0              0              0              0      1  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1358, 16)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "class_1 = data.loc[data['class'] == 1]\n",
    "class_2 = data.loc[data['class'] == 2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>grade_A_Component_1</th>\n",
       "      <th>grade_A_Component_2</th>\n",
       "      <th>max_luminosity</th>\n",
       "      <th>thickness</th>\n",
       "      <th>xmin</th>\n",
       "      <th>xmax</th>\n",
       "      <th>ymin</th>\n",
       "      <th>ymax</th>\n",
       "      <th>pixel_area</th>\n",
       "      <th>log_area</th>\n",
       "      <th>x_component_1</th>\n",
       "      <th>x_component_2</th>\n",
       "      <th>x_component_3</th>\n",
       "      <th>x_component_4</th>\n",
       "      <th>x_component_5</th>\n",
       "      <th>class</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>135</td>\n",
       "      <td>65</td>\n",
       "      <td>950</td>\n",
       "      <td>974</td>\n",
       "      <td>1038442</td>\n",
       "      <td>1036754</td>\n",
       "      <td>300</td>\n",
       "      <td>300.120598</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>138</td>\n",
       "      <td>69</td>\n",
       "      <td>462</td>\n",
       "      <td>466</td>\n",
       "      <td>1088124</td>\n",
       "      <td>1086579</td>\n",
       "      <td>251</td>\n",
       "      <td>251.401943</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>135</td>\n",
       "      <td>36</td>\n",
       "      <td>806</td>\n",
       "      <td>831</td>\n",
       "      <td>299775</td>\n",
       "      <td>301108</td>\n",
       "      <td>264</td>\n",
       "      <td>264.389126</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>131</td>\n",
       "      <td>61</td>\n",
       "      <td>751</td>\n",
       "      <td>760</td>\n",
       "      <td>948223</td>\n",
       "      <td>949021</td>\n",
       "      <td>176</td>\n",
       "      <td>176.516962</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>138</td>\n",
       "      <td>35</td>\n",
       "      <td>26</td>\n",
       "      <td>45</td>\n",
       "      <td>3063581</td>\n",
       "      <td>3063303</td>\n",
       "      <td>466</td>\n",
       "      <td>466.998162</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    grade_A_Component_1  grade_A_Component_2  max_luminosity  thickness  xmin  \\\n",
       "2                     1                    0             135         65   950   \n",
       "4                     1                    0             138         69   462   \n",
       "11                    0                    1             135         36   806   \n",
       "18                    0                    1             131         61   751   \n",
       "23                    0                    1             138         35    26   \n",
       "\n",
       "    xmax     ymin     ymax  pixel_area    log_area  x_component_1  \\\n",
       "2    974  1038442  1036754         300  300.120598              0   \n",
       "4    466  1088124  1086579         251  251.401943              0   \n",
       "11   831   299775   301108         264  264.389126              0   \n",
       "18   760   948223   949021         176  176.516962              0   \n",
       "23    45  3063581  3063303         466  466.998162              0   \n",
       "\n",
       "    x_component_2  x_component_3  x_component_4  x_component_5  class  \n",
       "2               0              0              0              0      2  \n",
       "4               0              0              0              0      2  \n",
       "11              0              0              0              0      2  \n",
       "18              0              0              0              0      2  \n",
       "23              0              0              0              0      2  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "class_2.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f277f44e210>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(data['class'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([1, 2]), array([887, 471]))"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.unique(data['class'], return_counts=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "grade_A_Component_1    0\n",
       "grade_A_Component_2    0\n",
       "max_luminosity         0\n",
       "thickness              0\n",
       "xmin                   0\n",
       "xmax                   0\n",
       "ymin                   0\n",
       "ymax                   0\n",
       "pixel_area             0\n",
       "log_area               0\n",
       "x_component_1          0\n",
       "x_component_2          0\n",
       "x_component_3          0\n",
       "x_component_4          0\n",
       "x_component_5          0\n",
       "class                  0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>grade_A_Component_1</th>\n",
       "      <td>1358.0</td>\n",
       "      <td>4.064801e-01</td>\n",
       "      <td>4.913571e-01</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>1.000000e+00</td>\n",
       "      <td>1.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>grade_A_Component_2</th>\n",
       "      <td>1358.0</td>\n",
       "      <td>5.935199e-01</td>\n",
       "      <td>4.913571e-01</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000e+00</td>\n",
       "      <td>1.000000e+00</td>\n",
       "      <td>1.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max_luminosity</th>\n",
       "      <td>1358.0</td>\n",
       "      <td>1.378932e+02</td>\n",
       "      <td>2.048051e+01</td>\n",
       "      <td>71.000000</td>\n",
       "      <td>127.000000</td>\n",
       "      <td>1.370000e+02</td>\n",
       "      <td>1.460000e+02</td>\n",
       "      <td>2.660000e+02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>thickness</th>\n",
       "      <td>1358.0</td>\n",
       "      <td>7.897791e+01</td>\n",
       "      <td>5.532484e+01</td>\n",
       "      <td>35.000000</td>\n",
       "      <td>42.000000</td>\n",
       "      <td>6.600000e+01</td>\n",
       "      <td>8.300000e+01</td>\n",
       "      <td>3.050000e+02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>xmin</th>\n",
       "      <td>1358.0</td>\n",
       "      <td>5.673704e+02</td>\n",
       "      <td>5.220131e+02</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>53.000000</td>\n",
       "      <td>4.075000e+02</td>\n",
       "      <td>1.041750e+03</td>\n",
       "      <td>1.692000e+03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>xmax</th>\n",
       "      <td>1358.0</td>\n",
       "      <td>6.140324e+02</td>\n",
       "      <td>5.005055e+02</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>192.000000</td>\n",
       "      <td>4.570000e+02</td>\n",
       "      <td>1.064000e+03</td>\n",
       "      <td>1.717000e+03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ymin</th>\n",
       "      <td>1358.0</td>\n",
       "      <td>1.660107e+06</td>\n",
       "      <td>1.778153e+06</td>\n",
       "      <td>7527.000000</td>\n",
       "      <td>466274.250000</td>\n",
       "      <td>1.216168e+06</td>\n",
       "      <td>2.210012e+06</td>\n",
       "      <td>1.291748e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ymax</th>\n",
       "      <td>1358.0</td>\n",
       "      <td>1.660139e+06</td>\n",
       "      <td>1.778177e+06</td>\n",
       "      <td>7453.000000</td>\n",
       "      <td>466691.750000</td>\n",
       "      <td>1.214700e+06</td>\n",
       "      <td>2.210076e+06</td>\n",
       "      <td>1.291731e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>pixel_area</th>\n",
       "      <td>1358.0</td>\n",
       "      <td>1.903403e+03</td>\n",
       "      <td>3.839157e+03</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>234.000000</td>\n",
       "      <td>3.460000e+02</td>\n",
       "      <td>9.152500e+02</td>\n",
       "      <td>3.739200e+04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>log_area</th>\n",
       "      <td>1358.0</td>\n",
       "      <td>1.903896e+03</td>\n",
       "      <td>3.839163e+03</td>\n",
       "      <td>3.445293</td>\n",
       "      <td>234.335948</td>\n",
       "      <td>3.460445e+02</td>\n",
       "      <td>9.153678e+02</td>\n",
       "      <td>3.739267e+04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>x_component_1</th>\n",
       "      <td>1358.0</td>\n",
       "      <td>8.173785e-02</td>\n",
       "      <td>2.740658e-01</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>1.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>x_component_2</th>\n",
       "      <td>1358.0</td>\n",
       "      <td>1.060383e-01</td>\n",
       "      <td>3.080000e-01</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>1.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>x_component_3</th>\n",
       "      <td>1358.0</td>\n",
       "      <td>1.973490e-01</td>\n",
       "      <td>3.981446e-01</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>1.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>x_component_4</th>\n",
       "      <td>1358.0</td>\n",
       "      <td>3.534610e-02</td>\n",
       "      <td>1.847211e-01</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>1.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>x_component_5</th>\n",
       "      <td>1358.0</td>\n",
       "      <td>2.798233e-02</td>\n",
       "      <td>1.649829e-01</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>1.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>class</th>\n",
       "      <td>1358.0</td>\n",
       "      <td>1.346834e+00</td>\n",
       "      <td>4.761376e-01</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000e+00</td>\n",
       "      <td>2.000000e+00</td>\n",
       "      <td>2.000000e+00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                      count          mean           std          min  \\\n",
       "grade_A_Component_1  1358.0  4.064801e-01  4.913571e-01     0.000000   \n",
       "grade_A_Component_2  1358.0  5.935199e-01  4.913571e-01     0.000000   \n",
       "max_luminosity       1358.0  1.378932e+02  2.048051e+01    71.000000   \n",
       "thickness            1358.0  7.897791e+01  5.532484e+01    35.000000   \n",
       "xmin                 1358.0  5.673704e+02  5.220131e+02     0.000000   \n",
       "xmax                 1358.0  6.140324e+02  5.005055e+02     4.000000   \n",
       "ymin                 1358.0  1.660107e+06  1.778153e+06  7527.000000   \n",
       "ymax                 1358.0  1.660139e+06  1.778177e+06  7453.000000   \n",
       "pixel_area           1358.0  1.903403e+03  3.839157e+03     3.000000   \n",
       "log_area             1358.0  1.903896e+03  3.839163e+03     3.445293   \n",
       "x_component_1        1358.0  8.173785e-02  2.740658e-01     0.000000   \n",
       "x_component_2        1358.0  1.060383e-01  3.080000e-01     0.000000   \n",
       "x_component_3        1358.0  1.973490e-01  3.981446e-01     0.000000   \n",
       "x_component_4        1358.0  3.534610e-02  1.847211e-01     0.000000   \n",
       "x_component_5        1358.0  2.798233e-02  1.649829e-01     0.000000   \n",
       "class                1358.0  1.346834e+00  4.761376e-01     1.000000   \n",
       "\n",
       "                               25%           50%           75%           max  \n",
       "grade_A_Component_1       0.000000  0.000000e+00  1.000000e+00  1.000000e+00  \n",
       "grade_A_Component_2       0.000000  1.000000e+00  1.000000e+00  1.000000e+00  \n",
       "max_luminosity          127.000000  1.370000e+02  1.460000e+02  2.660000e+02  \n",
       "thickness                42.000000  6.600000e+01  8.300000e+01  3.050000e+02  \n",
       "xmin                     53.000000  4.075000e+02  1.041750e+03  1.692000e+03  \n",
       "xmax                    192.000000  4.570000e+02  1.064000e+03  1.717000e+03  \n",
       "ymin                 466274.250000  1.216168e+06  2.210012e+06  1.291748e+07  \n",
       "ymax                 466691.750000  1.214700e+06  2.210076e+06  1.291731e+07  \n",
       "pixel_area              234.000000  3.460000e+02  9.152500e+02  3.739200e+04  \n",
       "log_area                234.335948  3.460445e+02  9.153678e+02  3.739267e+04  \n",
       "x_component_1             0.000000  0.000000e+00  0.000000e+00  1.000000e+00  \n",
       "x_component_2             0.000000  0.000000e+00  0.000000e+00  1.000000e+00  \n",
       "x_component_3             0.000000  0.000000e+00  0.000000e+00  1.000000e+00  \n",
       "x_component_4             0.000000  0.000000e+00  0.000000e+00  1.000000e+00  \n",
       "x_component_5             0.000000  0.000000e+00  0.000000e+00  1.000000e+00  \n",
       "class                     1.000000  1.000000e+00  2.000000e+00  2.000000e+00  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.describe().T"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f277ec297d0>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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zp072/t06dIFDw8Pex8REam5pk+fzoEDB3j//fepXbt2lazDpWddrly5kqNHj7Js2bIybdnZ2QB4e3s7TPf29ubUqVMA5OTk0LhxY0wmk73dZDLRpEkTcnJyrrhejfaql95vkapTv3596tWr59IaiouLr2m+WbNm8fHHH7NhwwZ8fX2vupxffvml3L/tgYGBfzify4IuMzOTl156ic8++4y6detesd+lIQYXd2leHmyXu7zP5a72plTIjvTrX8ZNolLebxEpV35+PvXr13eY9ns113D5+isiLi6Ojz76iC1bttC2bdsKzXPLLbfg5+fn9LpcFnTp6enk5eVx991326dduHCBffv28d5779nPvsnJyaF58+b2Prm5ufZRno+PD7m5uQ7BZrPZyMvLKzMSFBGRmmHSpEmsXbuWDz74ALPZbN+D5+HhgaenZ6Wvz2VB16dPH+68806HaU8//TStW7fmueeeIyAgAIvFwq5du7jrrruAi8Pj/fv389JLLwEQHh5OQUEB6enp9uN06enpFBYWOhy3ExG5mTh7AXd1W7FiBQADBgxwmB4XF8e0adMqfX0uCzqz2VzmVNIGDRrQqFEj+9XxMTExLFq0iMDAQAICAli4cCEeHh4MHToUgLZt29KjRw9iY2NJSEjAZrMRGxtL7969tbtMRKSGqu5rnWv0LcAmTJhAUVERkydPxmq1EhoaSkpKCl5eXvY+y5cvJy4ujsGDBwMQGRnJggULXFWyiIjUMCar1WpzdRE3ouClOhmlor4bXzXXxojIxZNRGjZs6OoyqsW1bqvLr6MTERGpSgo6ERExNAWdiIgYmoJOROQGZ7MZ/1SL69lGBZ2IyA2sfv36/Prrr64uo0rZbDasViseHh7XNH+NvrxARET+WL169Th//jz5+fmuLqVKeXl54eZ2bZGloBMRucFd60jnZqFdlyIiYmga0YnIVekGCRWnGyTUPBrRiYiIoSnoRETE0BR0IiJiaAo6ERExNAWdiIgYmoJOREQMTUEnIiKGpqATERFDU9CJiIihKehERMTQFHQiImJoCjoRETE0BZ2IiBiagk5ERAxNQSciIoamoBMREUNT0ImIiKE5FXS33347n3766RXbt27dyu23337dRYmIiFQWp4Lu+PHjFBYWXrG9sLCQEydOXHdRIiIilcXpXZcmk+mKbT/++CNeXl7XVZCIiEhlcrtah9WrV7NmzRr764ULF7Jy5coy/axWK99//z29e/eu3ApFRESuw1WDrrCwkOzsbPvr/Px8SkpKHPqYTCYaNGjA448/ztSpUyu/ShERkWt01aAbN24c48aNAyAkJIR58+bx4IMPVnlhIiIilcGpY3QZGRmVFnLLly8nIiICPz8//Pz86NmzJ9u2bbO322w24uPjadeuHb6+vvTp04fDhw87LMNqtRIVFYW/vz/+/v5ERUVhtVorpT4RETGGq47oynP27FmysrI4c+YMNputTHvXrl2vuow//elPzJkzh9atW1NSUsKaNWsYNWoUX375JR06dCAhIYHExEQSExMJDAxkwYIFDBo0iIMHD9pPeBk7dixZWVmsX78ek8nEs88+S3R0NGvXrr2WzRIREQNyKujOnDlDXFwcH330ERcuXCjTbrPZMJlM/Oc//7nqsvr06ePweubMmbz77rscPHiQ4OBgkpKSmDhxIgMGDAAgKSmJwMBAkpOTGT16NEeOHGHnzp1s3bqVzp07A7B48WIiIyPJzMwkMDDQmU0TERGDciroYmNj2bJlC+PGjaNr166YzeZKKeLChQt8/PHHFBYWEh4ezrFjx8jOzqZbt272Pu7u7kRERJCWlsbo0aNJT0/H09PTHnIAXbp0wcPDg7S0NAWdiIgATgbdzp07iY6O5pVXXqmUlX/33Xf06tWL4uJiPDw8+OCDDwgODiYtLQ0Ab29vh/7e3t6cOnUKgJycHBo3buxwXZ/JZKJJkybk5OT84XozMzMrpX6pGL3fcjPR9736XW1g41TQ1a1bl9atW19XQZcKDAwkNTWV/Px8Nm3aRExMDFu2bLG3X35xeumu0Su1l9fnSuu9bjvSr38ZNwmNrg1A3/cK0/e95nHqrMsBAwawY8eOSlt53bp1adWqFXfeeSezZ8+mY8eOLF26FIvFAlBmZJabm2sf5fn4+JCbm+twMozNZiMvL6/MSFBERG5eTgXdM888w+nTp3nqqac4ePAgp0+f5t///neZf9eqpKSEc+fO0aJFCywWC7t27bK3FRcXs3//fvsxufDwcAoKCkhP/+8vzfT0dAoLCx2O24mIyM3NqV2XoaGhmEwmDh06xLp1667YryJnXb744ov06tWLZs2aUVBQQHJyMnv27GHdunWYTCZiYmJYtGgRgYGBBAQEsHDhQjw8PBg6dCgAbdu2pUePHsTGxpKQkIDNZiM2NpbevXtr14GIiNg5FXRTpky56vGvisrOziYqKoqcnBxuueUWgoODSU5Opnv37gBMmDCBoqIiJk+ejNVqJTQ0lJSUFIebRi9fvpy4uDgGDx4MQGRkJAsWLKiU+kRExBhMVqu17BXfclXBS3VwvqK+Gx/u6hLkOun7XnH6vtc813RnFBFnnI0d4eoSbhhei9dcvZOIOMWpoJs/f/5V+5hMJqZMmXLNBYmIiFQmp4Ju3rx5V2wzmUz2a9gUdCIiUlM4fa/Ly5WUlHD8+HGWLVtGWloaycnJlVaciIjI9XLqOrpyF1CrFi1btiQ+Pp4WLVrowasiIlKjXHfQXeree+91eKaciIiIq1Vq0GVmZpb7fDoRERFXceoY3d69e8udnp+fT2pqKsuXL2fgwIGVUpiIiEhlcCro+vbte8UnBtSuXZshQ4ZU6BIEERGR6uJU0G3evLnMNJPJhNlsxt/f3+H2XCIiIjWBU0F3zz33VFUdIiIiVeKabgF29uxZ9uzZw/HjxwHw9/fnnnvu0YhORERqHKeDbtmyZcydO5fCwkKHMyw9PDyYOXMm0dHRlVqgiIjI9XAq6D788EOmTp1KaGgoMTExtG3bFpvNxg8//MDbb7/NtGnTaNSoEcOGDauqekVERJziVNAlJibSuXNntmzZgpvbf2ft2LEjAwYMoG/fvixZskRBJyIiNYZTF4xnZmYyePBgh5Ar5ebmxuDBg/nxxx8rrTgREZHr5VTQeXh4kJ2dfcX27OxsGjRocN1FiYiIVBangq5bt24sW7aM1NTUMm179uzhnXfeoXv37pVWnIiIyPVy6hjd7Nmz2bdvHwMGDCAkJIQ2bdoA8MMPP5CRkUHTpk2ZPXt2lRQqIiJyLZwa0TVv3pzU1FTGjx/Pr7/+yqZNm9i0aRO//vorTz/9NKmpqTRr1qyqahUREXGaUyO6wsJCCgsLmTt3LnPnzi3TfuLECerXr6/jdCIiUmM4NaKbPn06I0eOvGL7qFGjmDlz5nUXJSIiUlmcCrpdu3bRt2/fK7b37duXzz///LqLEhERqSxOBV12dja+vr5XbLdYLJw+ffq6ixIREaksTgVdkyZNOHz48BXbDx8+TMOGDa+7KBERkcriVND17NmTlStXkpaWVqbt4MGDrFy5kp49e1ZacSIiItfLqbMup02bxo4dO3jwwQfp0aMHQUFBmEwmvvvuO3bu3InFYuGFF16oqlpFRESc5lTQWSwWdu3axezZs/nkk0/Yvn07AF5eXjz88MPMnj0bi8VSJYWKiIhcC6efR+fj40NSUhI2m43c3FxsNhve3t6YTKaqqE9EROS6XNMTxgFMJhPe3t6VWYuIiEilc+pkFBERkRuNgk5ERAzNZUH3+uuv85e//AU/Pz9at27Nww8/zPfff+/Qx2azER8fT7t27fD19aVPnz5lruOzWq1ERUXh7++Pv78/UVFRWK3W6twUERGpwVwWdHv27OHJJ59k27ZtbNq0CTc3NwYOHMiZM2fsfRISEkhMTGT+/Pl88cUXeHt7M2jQIM6ePWvvM3bsWDIyMli/fj3JyclkZGQQHR3tik0SEZEa6JpPRrleKSkpDq+XLVuGv78/Bw4cIDIyEpvNRlJSEhMnTmTAgAEAJCUlERgYSHJyMqNHj+bIkSPs3LmTrVu30rlzZwAWL15MZGQkmZmZBAYGVvt2iYhIzVJjjtEVFBRQUlKC2WwG4NixY2RnZ9OtWzd7H3d3dyIiIux3ZklPT8fT09MecgBdunTBw8Oj3Lu3iIjIzcdlI7rLTZ06lY4dOxIeHg5cvIE0UOYSBm9vb06dOgVATk4OjRs3driGz2Qy0aRJE3Jycq64rszMzMouX6RS6Lt549NnWP2utveuRgTd9OnTOXDgAFu3bqV27doObZdfiG6z2coE2+Uu73O5StmluSP9+pchcpkau7td3/cKq7Gf4U3M5bsup02bxoYNG9i0aRMtW7a0Ty+9ldjlI7Pc3Fz7KM/Hx8d+d5ZSNpuNvLw8XcwuIiKAi4MuLi6O5ORkNm3aRJs2bRzaWrRoYb+3Zqni4mL2799vPyYXHh5OQUEB6en//bWZnp5OYWGhw3E7ERG5ebls1+WkSZNYu3YtH3zwAWaz2X5MzsPDA09PT0wmEzExMSxatIjAwEACAgJYuHAhHh4eDB06FIC2bdvSo0cPYmNjSUhIwGazERsbS+/evbX7QEREABcG3YoVKwDslw6UiouLY9q0aQBMmDCBoqIiJk+ejNVqJTQ0lJSUFLy8vOz9ly9fTlxcHIMHDwYgMjKSBQsWVNNWiIhITWeyWq22q3eTywUv1cH5ijqQudjVJdwwvBavcXUJ5dL3veL0fa+46vq+u/xkFBERkaqkoBMREUNT0ImIiKEp6ERExNAUdCIiYmgKOhERMTQFnYiIGJqCTkREDE1BJyIihqagExERQ1PQiYiIoSnoRETE0BR0IiJiaAo6ERExNAWdiIgYmoJOREQMTUEnIiKGpqATERFDU9CJiIihKehERMTQFHQiImJoCjoRETE0BZ2IiBiagk5ERAxNQSciIoamoBMREUNT0ImIiKEp6ERExNAUdCIiYmgKOhERMTQFnYiIGJpLg27v3r0MHz6c9u3bYzabWbVqlUO7zWYjPj6edu3a4evrS58+fTh8+LBDH6vVSlRUFP7+/vj7+xMVFYXVaq3OzRARkRrMpUFXWFhIUFAQ8+bNw93dvUx7QkICiYmJzJ8/ny+++AJvb28GDRrE2bNn7X3Gjh1LRkYG69evJzk5mYyMDKKjo6tzM0REpAZzc+XKe/XqRa9evQAYP368Q5vNZiMpKYmJEycyYMAAAJKSkggMDCQ5OZnRo0dz5MgRdu7cydatW+ncuTMAixcvJjIykszMTAIDA6t3g0REpMapscfojh07RnZ2Nt26dbNPc3d3JyIigrS0NADS09Px9PS0hxxAly5d8PDwsPcREZGbm0tHdH8kOzsbAG9vb4fp3t7enDp1CoCcnBwaN26MyWSyt5tMJpo0aUJOTs4Vl52ZmVkFFYtcP3035WZSWd/3q+29q7FBV+rSEIOLuzQvD7bLXd7ncpWyS3NH+vUvQ+QyNXZ3u77vUgWq6/teY3ddWiwWgDIjs9zcXPsoz8fHh9zcXGw2m73dZrORl5dXZiQoIiI3pxobdC1atMBisbBr1y77tOLiYvbv328/JhceHk5BQQHp6f/9tZmenk5hYaHDcTsREbl5uXTXZUFBAUePHgWgpKSErKwsMjIyaNSoEX5+fsTExLBo0SICAwMJCAhg4cKFeHh4MHToUADatm1Ljx49iI2NJSEhAZvNRmxsLL179665u4BERKRauTTo/vd//5d+/frZX8fHxxMfH8+IESNISkpiwoQJFBUVMXnyZKxWK6GhoaSkpODl5WWfZ/ny5cTFxTF48GAAIiMjWbBgQbVvi4iI1Ewmq9Vqu3o3uVzwUh2cr6gDmYtdXcINw2vxGleXUC593ytO3/eKq67ve409RiciIlIZFHQiImJoCjoRETE0BZ2IiBiagk5ERAxNQSciIoamoBMREUNT0ImIiKEp6ERExNAUdCIiYmgKOhERMTQFnYiIGJqCTkREDE1BJyIihqagExERQ1PQiYiIoSnoRETE0BR0IiJiaAo6ERExNAWdiIgYmoJOREQMTUEnIiKGpqATERFDU9CJiIihKehERMTQFHQiImJoCjoRETE0BZ2IiBiagk5ERAxNQSciIoamoBMREUNT0ImIiKEZJuhWrFhBSEgIFouF+++/n3379rm6JBERqQEMEXQpKSlMnTqV559/nt27dxMeHs5DDz3EiRMnXF2aiIi4mCGCLjExkZEjR/L444/Ttm1bXnvtNSwWC++9956rSxMRERczWa1Wm6uLuB7nzp2jadOmvPvuuwwcONA+fdKkSXz//fd8+umnLqxORERc7YYf0eXl5XHhwgW8vb0dpnt7e5OTk+OiqkREpKa44YOulMlkcnhts9nKTBMRkZvPDR90jRs3pnbt2mVGb7m5uWVGeSIicvO54YOubt263HHHHezatcth+q5du+jcubOLqhIRkZrCzdUFVIann36a6OhoQkND6dy5M++99x6nT59m9OjRri5NRERc7IYf0QEMHjyY+Ph4XnvtNe69914OHDjAunXr8Pf3d3VpNz1dyC83g7179zJ8+HDat2+P2Wxm1apVri5JLmGIoAMYO3Ys3377LTk5OXz11Vd07drV1SXd9HQhv9wsCgsLCQoKYt68ebi7u7u6HLnMDX8dndRc3bt3Jzg4mDfffNM+7a677mLAgAHMnj3bhZWJVJ1mzZqxYMECRo0a5epS5P9nmBGd1Cznzp3j0KFDdOvWzWF6t27dSEtLc1FVInIzUtBJldCF/CJSUyjopErpQn4RcTUFnVQJXcgvIjWFgk6qhC7kF5GawhAXjEvNpAv55WZRUFDA0aNHASgpKSErK4uMjAwaNWqEn5+fi6sTXV4gVWrFihUkJCSQnZ1N+/btefXVV3WNoxhOamoq/fr1KzN9xIgRJCUluaAiuZSCTkREDE3H6ERExNAUdCIiYmgKOhERMTQFnYiIGJqCTkREDE1BJyIihqagE8OLj4/HbDa7ugwRcREFnUgl+fXXX2nevDlms/m6n6ReUlLCmjVr6N+/P7fddhve3t4EBQUxZswYdu/eXUkV39x+/vln4uPjycjIuKb5U1JSiI6OplOnTjRq1IhOnTpVcoVSWRR0IpVky5YtFBUV0bx5c9atW3fNyykuLmb48OHExMRw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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(data['grade_A_Component_1'],hue = data['class'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "abs(data['grade_A_Component_1'] - data['grade_A_Component_2']).sum()/data.shape[0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## This means data['grade_A_Component_1'] = 1 - data['grade_A_Component_2'])\n",
    "### Hence, we can drop one of the feature from these two"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Skewness: 0.08469729350101923\n",
      "Kurtosis: 3.1842797847766575\n"
     ]
    },
    {
     "data": {
      "image/png": "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fOMb8WhuQg2krzL9nj6QvuqUiff0gfZTJt/PO6Xt2dONjY269tprtWrVKv3sZz874nO//e1vhzy++uqrtXHjRq1fvz4jbjAD6atOK1as0MyZM3XyySdnzA1GGlhfVVRU6He/+502b96sadOmxamFyWEg/fT222/L6/VqxYoVXTftb37zmzrvvPNUV1en4cOHx6PJCWGz2VRSEl0x6kceeUTt7e367W9/q+zsbM2YMUO7du3S6tWr9R//8R9pX81iIH2V6ff0gfRVp0y8pw+knzL5ft5T1CV3Us3NN9+s888/X6eddtqgXt/c3CyXyzXErUpOA+2rDRs2aMOGDbrrrrti3LLkM5C+euqppzRhwgT94x//0HHHHadZs2bp+uuv18GDB+PQ0sQaSD/Nnj1bdrtdf/jDH+T3+9Xc3KyHHnpIxx9/fFoHRik4ynrMMcfoM5/5jK666ipVVlb2+9ytW7fqpJNOUnZ2dte1M888UwcOHNDHH38ch9Ym1kD6qi+ZdE8faF9l6j19IP2UyffzntIyNK5Zs0Z79uzRbbfdNqjXP/PMM3rxxRe1bNmyoW1YEhpoX1VVVek///M/de+99yo/Pz/GrUsuA+2ryspK7d27V+vWrdPq1at17733qqKiQpdeeqkCgUCMW5s4A+2n8ePH67HHHtPKlStVXFyssrIyvf/++3r44Ydj3NLEmjdvnlavXq1HHnlE99xzj6qrq7V48WIdOnSoz+fX1NT0echC58fS2UD7Klwm3dMH2leZek8faD9l6v08XNpNT1dUVOiOO+7Q008/LYfDMeDXb9myRddee63uuusuzZ07NwYtTB6D6avrrrtOV111lU444YQYty65DKavAoGA3G637r33Xk2ePFmSdO+992revHl64403NG/evFg2OSEG00/V1dX6xje+oUsvvVQXXXSRWlpa9NOf/lTLli3T3//+d1ksafm7rc4666yQx/PmzdPs2bP1l7/8Rf/xH//R52v6OmShr+vpZjB91SmT7unSwPsqU+/pA+2nTLyf9yXtQuPWrVtVV1enk046qeua3+/Xyy+/rAceeED79+9XVlZWn6995ZVXdPHFF+vWW2/V1VdfHa8mJ8xg+uqll17S5s2bu6YxTNNUIBDQ8OHDdffdd6ftb/KD6auSkhLZbLauG4wklZeXy2azad++fWl5kxlMP913333KycnRHXfc0XXtd7/7nWbOnKlXX3015L3SWV5enqZPn649e/b0+fHi4uI+D1mQlHEHLUTqq06Zdk/vS6S+ytR7erhI/ZSJ9/O+pF1oXLJkiebMmRNy7cYbb1R5ebm+9a1v9Tv6sXnzZl1yySW65ZZb9PWvfz0eTU24wfTVyy+/HPL4qaee0t13363nn39eY8aMiWl7E2kwfbVgwQL5fD599NFHmjhxoqTgFIfP59O4cePi0u54G0w/tbe399q12Pk4k6Z9Ojo6VFFRoVNPPbXPj8+fP18//OEP1dHRIafTKSl4yMLo0aM1fvz4eDY14SL1lZSZ9/S+ROqrTL2nh4vUT5l4P+9L2oXGznpLPeXk5KioqEgzZsyQJP3oRz/Stm3btH79eknBml6XXHKJrr76al188cVdW+itVqtGjBgR3y8gjgbTV53XO7355puyWCy9rqebwfTV6aefruOOO0433nijVq5cKUm69dZbNW/evF7BKl0Mpp8WL16s1atX684779TSpUvV3NysH//4xyotLdXs2bPj/jXEy/e//32dc845Ki0tVW1trX7+85+rra1Nl112maTe/fSlL31Jd911l77+9a9r+fLl2r17t375y1/qv/7rv9J+enqgfZWp93Rp4H2Vqff0gfZTJt7P+5J2oTEaVVVV+uijj7oe/+Uvf1FbW5tWrVqlVatWdV0fN26c3nnnnUQ0MWmE9xX6F95XFotFDz/8sG655RYtWbJETqdTZ5xxhn7yk5+k7Tq9aIT302mnnab7779fv/rVr7Rq1So5nU7NmzdPjz76qHJzcxPY0tjav3+/rrnmGtXV1WnEiBGaN2+ennvuua5DE8L7qbCwUI899piWL1+uM844Qy6XSzfeeGPENX3pYKB9lcn39IH2VaYaaD9xPw8yGhoa0v84AQAAAByVzInHAAAAGDRCIwAAACIiNAIAACAiQiMAAAAiIjQCAAAgIkIjAAAAIiI0AkhbGzdulMvl0saNGxPy+VeuXNmr2HkifPzxx3K5XPrzn/+c6KYASGGERgDIQK+88opWrlyphoaGRDcFQIogNAJAjHznO99RVVVVopuhsrIyVVVV6dJLL+26tmXLFt11111qbGxMYMsApJKMPEYQAOLBZrPJZkv8bdYwDDmdzkQ3A0CKY6QRQNQ61+hVVFTohhtu0Pjx4zVx4kStWLFCgUBABw8e1LJly1RWVqby8nLdeeedIa9ftWqVzj77bE2aNEklJSVauHCh/vCHP4Q858UXX1RRUZF+9KMfhVz/xz/+IZfL1es9B2rJkiVasmRJv19bTy6XS9/85jf1xBNPaOHChRo1apQ++9nP6q233pIk/e///q9OOOEElZSU6KyzztKuXbsivuesWbN00UUXadu2bTrnnHM0atQozZw5U6tXr+7Vpvr6en3rW9/StGnTVFxcrPnz5+vXv/61TDP09NcXX3xR5557rsaPH6+xY8dq3rx5+va3v9318fA1jStXruzq3+OOO04ul6tr7ee1116rSZMmyev19mrPV77yFU2dOlU+n6/f/gWQvhL/KzCAlHPVVVdp8uTJ+sEPfqDnn39ev/rVr+RyufTXv/5Vs2fP1ooVK7R+/XrdeeedOvbYY/WFL3xBkrR69Wp97nOf0wUXXCDDMPTEltmA7gAAB+5JREFUE0/opptuUiAQ0LJlyyRJp512mq677jrdc889OvfcczV//nw1NDToG9/4hmbPnq3ly5fH9WvdunWrnn32WV199dWy2Wz6xS9+oYsvvli33367fvnLX2rZsmXq6OjQL37xC1111VXatGlTxPf8+OOPdemll+rLX/6yli5dqnXr1ul73/uepk+frs9+9rOSJLfbrX/7t3/Tjh07dNVVV2nq1Kl69tln9f3vf1+ffvqpVq5cKUn64IMPdPHFF2vGjBn67ne/q5ycHFVWVmrDhg39fv5/+7d/U0VFhdatW6ef/vSnGj58uCRp2rRp+vKXv6xHHnlEzz33nD7/+c93vaaxsVEbNmzQV7/61aQYPQUQf3znAxiw4447Tr/+9a8lBQPknDlzdMcdd2j58uW67bbbJEmXX365pk+frj/+8Y9doXHbtm3Kycnpep/rr79eF1xwge65556u0ChJP/zhD/XPf/5TN9xwgzZu3Kjly5ervr5ejz32WNwDy65du7R161ZNnDhRkjRy5EjdcMMNuv322/XGG29o2LBhkiSHw6EVK1borbfe0uzZs4/4nrt379bjjz+u008/XZJ0xRVX6Nhjj9WaNWu6QuOaNWv07rvv6p577tGVV14pSbrmmmv07//+7/qf//kfXXPNNSovL9cLL7wgt9utRx99tCv8SdKKFSv6/fzHHnusZs2apXXr1mnJkiUaP35818dGjBihsWPHau3a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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (10,6))\n",
    "\n",
    "x = np.log(data['max_luminosity'])\n",
    "\n",
    "sns.distplot(x)\n",
    "print('Skewness: {}'.format(x.skew()))\n",
    "print('Kurtosis: {}'.format(x.kurt()))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### We'll be using log transformed max_luminosity as it is more normally distributed"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f80a967b950>"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAosAAAGUCAYAAABdgmjEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3deZCV1Z0/4E8LLohmGhF3QQUUdxyIoUxc4oJbdFAj7hsaosnEkajlhjrRqaBODGpcYk0lNahxAVTEuMYlxo1hxtEwOorMD3GbxJVmgoqC9O8Pq296O923FWganqeKqtvnnnve855+7/d++r3vvdTU1dXVBwAAWrFKZ08AAIDll7AIAECRsAgAQJGwCABAkbAIAECRsAgAQJGwCABAkbAIAEBRlw6Ls2bN6uwpLPesUfusUfusUfusUfusUfusUfusUfuW9Bp16bAIAMDSJSwCAFAkLAIAUCQsAgBQJCwCAFAkLAIAUCQsAgBQJCwCAFAkLAIAUCQsAgBQJCwCAFAkLAIAUCQsAgBQJCwCAFAkLAIAUCQsAgBQJCwCAFAkLAIAUCQsAgBQJCwCAFAkLAIAUCQsAgBQJCwCAFAkLAIAUCQsAgBQJCwCAFAkLAIAUCQsAgBQJCwCAFAkLAIAUNS9sycAy5sRI0Z09hSWqSlTpnT2FABYjjmzCABAkbAIAECRsAgAQJFrFqEds4afv9S3MfDhny6zbTbfFgC0xZlFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKunf2BFhyRowY0eTnKVOmdNJMYMXmuQasTJxZBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBIWAQAoEhYBACgSFgEAKBouQqLH374Yc4///zMnTu3qvZq7692m41vz549O0cffXTmzJnzpccvjffCCy/k0EMPzYwZM/Lkk09mxIgRefrpp5v0b9yncXvj/o3HfPLJJzu878CS8eGHH+b6669vUUceeOCBjBgxIg899FCT527zx7ZWg0p9GmutTr3wwgut1q6ObqeaGtjemM3HaG2NOnq78ZiNb5fWpbX5vvbaa1/qtaba31dHNN+3sWPHtpj3sppLV7M09nlprmPpuOwKup177rn/2NmTaDBhwoRMmzYtCxYsyNChQ9tt//DDD9O7d+/i/R3d5ksvvVS5PXXq1HzwwQd56aWX8t57732p8RuP3Xi8Rx99NJ999lmmT5+ep59+OosXL8706dPzySefVPrfdtttlT7z589v0t7Q/8UXX6yM+cgjj2Tx4sVNtn/kkUdW1oiy5mt0++23N72//65LfQ69/1/TsL80t9l8W0ceeWS7j3EcNdX8GPn000/z3HPPtagjEydOTJI899xzmT59euW5O3LkyMpjSzWomhp40UUXtahT//7v/56PP/64Re1qPHY126mmBrY39+bza22NOnq78bymTZtWuX3AAQe0ui6N2xvm+9JLL2X27NlVr3Nj1fy+OqL5mn/44Yct5l3NY5fEXLqKJfHaX7I0xmxQOi6XhiVds2vq6urql9hoX8GHH36YU089NZ999llWW2213HjjjenVq1exPUlmzZqV3r17F+/vyDZX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ABQJiwAAFAmLAAAUCYsAABQJiwAAFAmLAAAUCYsAABQJiwAAFAmLAAAUCYsAABQJiwAAFAmLAAAUCYsAABQJiwAAFAmLAAAUCYsAABQJiwAAFAmLAAAUCYsAABQJiwAAFHXv7AnA8m7gwz9dKbYJAK1xZhEAgCJhEQCAImERAIAi1yxCM1OmTOnsKQDAcsOZRQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAioRFAACKhEUAAIqERQAAimrq6urqO3sSAAAsn5xZBACgSFgEAKBIWAQAoEhYBACgSFgEAKBouQ+L22+/fWpra1v8GzlyZJJk3LhxLe7bcsstO3nWS9fTTz+dI488MltvvXVqa2vzm9/8psn99fX1GTduXAYNGpQNNtggBx54YF5++eUmferq6jJ69Oj07ds3ffv2zejRo1NXV7csd2OpamuNFi5cmIsvvji77LJLNtpoo2y11VY55ZRT8uabbzYZ48ADD2xxbI0aNWpZ78pS095xdNppp7XY/7333rtJn08//TRnn312tthii2y00UY58sgj8/bbby/L3Viq2luj1mpTbW1tzjrrrEqfataxq/r5z3+eb3/729l0003Tv3//HHHEEfnv//7vJn1W9nrU3hqpR9UdRyt7PapmjZZmPVruw+Ljjz+emTNnVv498cQTqampyYgRIyp9Bg4c2KTPM88804kzXvo++uijbLPNNrnsssvSo0ePFvdfffXVue6663L55ZfnscceS58+fXLIIYfkL3/5S6XPKaeckhkzZmTSpEmZPHlyZsyYke9///vLcjeWqrbW6OOPP84f//jHnHXWWXniiSdy66235u233853v/vdLFq0qEnfY445psmxNX78+GW5G0tVe8dRkuyxxx5N9n/SpElN7j/vvPNy77335le/+lXuv//+/OUvf8kRRxyRzz//fFnswlLX3ho1XpuZM2fm9ttvT5Im9Slpfx27qqeeeionn3xyHnrooUydOjXdu3fPiBEjMnfu3Eqflb0etbdG6lF1x1GyctejatZoadaj7kt2d5a8ddddt8nPN998c9Zee+0mO9+9e/esv/76y3pqnWb48OEZPnx4kuQHP/hBk/vq6+tzww035Iwzzsjf/d3fJUluuOGGDBw4MJMnT85JJ52UmTNn5pFHHsmDDz6Yb3zjG0mS8ePHZ//998+sWbMycODAZbtDS0Fba/Q3f/M3mTJlSpO28ePHZ9iwYZk5c2a23XbbSvuaa665wh5bba1Rg9VXX724//PmzcvNN9+c6667Lt/+9reTJDfeeGO23377/P73v89ee+21dCa+DLW3Rs3X5v7778+AAQPyrW99q0l7W+vYld11111Nfr7xxhvTt2/fTJs2Lfvvv796lPbXSD1qf40arMz1qJo1Wpr1aLk/s9hYfX19br755hxxxBFZc801K+1z5szJ1ltvnR122CGjRo3KnDlzOm+Snez111/PO++8kz333LPS1qNHj+yyyy75t3/7tyTJ9OnTs9Zaa1UKc5IMGzYsPXv2rPRZ2TSc5aitrW3Sfuedd2aLLbbIsGHDMnbs2CZnQ1YGzz77bAYMGJAhQ4bk9NNPz3vvvVe574UXXsjChQubHGubbLJJttpqq5XyOJo/f37uuuuunHDCCS3ua2sdVyTz58/P4sWLK88j9ail5mvUmpW9HpXWSD36q/aOoyVdj5b7M4uNPf7443n99ddz3HHHVdqGDh2a66+/PgMHDsz777+ff/7nf87w4cMzbdq0rLPOOp04287xzjvvJEn69OnTpL1Pnz7505/+lCR5991307t379TU1FTur6mpybrrrpt333132U12OfHZZ59l7Nix2W+//bLxxhtX2g8//PBsuumm2WCDDfLKK6/kJz/5SV588cUWZwFWVHvvvXcOOuig9OvXL2+88Ub+6Z/+KQcffHB+//vfZ/XVV8+7776bbt26pXfv3k0e16dPn5XyOJo8eXI+/fTTHHXUUU3a21vHFcm5556b7bffPjvvvHMS9ag1zdeoOfWo9TVSj5pq7zha0vWoS4XFCRMm5G//9m+zww47VNr22WefJn2GDh2awYMH59Zbb83f//3fL+spLjcaF97ki7OyzYtxc837rAwWLVqU0aNHZ968ebntttua3HfiiSdWbm+77bbZbLPNstdee+WFF17I4MGDl/FMl73DDjuscnvbbbfN4MGDs/322+ehhx7KwQcfXHzcyngcJV/UpwMPPLDFpTNfdh27mvPPPz/Tpk3Lgw8+mG7dujW5Tz36QltrlKhHSXmN1KO/au84SpZ8Peoyb0O/9957uf/++1s9pdrYWmutlUGDBmX27NnLaGbLl4brEJr/JfX+++9X/rpfb7318v7776e+/q//LXh9fX0++OCDFmcAVmSLFi3KySefnJdeein33HNPu2eid9ppp3Tr1m2lPbY23HDDbLTRRpX9X2+99fL555/ngw8+aNKv8bG2spgxY0aef/75dutT0nIdVwTnnXde7rzzzkydOjWbbbZZpV09+qvSGjVQj9pfo8ZW1npUzRotjXrUZcLirbfemtVXXz2HHnpom/0WLFiQWbNmrZAXAVejX79+WX/99fP4449X2hYsWJBnn322ck3QzjvvnPnz52f69OmVPtOnT89HH33U5LqhFdnChQtz0kkn5aWXXsq9995b1fHy0ksv5fPPP19pj60PPvggf/rTnyr7P3jw4Ky66qpNjrW33347M2fOXGmOowYTJkxI3759s8cee7Tbt/k6dnXnnHNOJk+enKlTp7b42jL16AttrVGiHiXtr1FzK2M9qnaNlkY96hJvQ9fX1+emm27KoYcemrXXXrvJfQ3XdmyyySaVaxY//vjjFu/Tr0jmz59f+Stg8eLFeeuttzJjxoz06tUrm266aU477bRceeWVGThwYAYMGJCf/exn6dmzZ7773e8mSbbaaqvsvffeGTNmTK6++urU19dnzJgx2Xfffbv8Jw8btLVGG264YU444YQ8//zzue2221JTU1O5tuprX/taevTokddeey0TJ07M8OHDs84662TmzJkZO3ZsdthhhwwbNqwzd22JaWuNevXqlcsuuywHH3xw1l9//bzxxhu55JJL0qdPn3znO99J8sWnyo877rhcdNFF6dOnT3r16pULLrgg2267bVVFqito77mWfPHVJ5MmTcrpp5/e4u2u+fPnt7uOXdlZZ52VO+64I7fccktqa2srz6OePXtmrbXWSk1NzUpfj9pbo0WLFq309ai9NarmebSi16P21qjB0qpHNXV1dfVt9lgO/OEPf8jBBx+cRx99NEOGDGly36hRo/LMM8/kgw8+yLrrrpuhQ4fmggsuyKBBgzpptkvfk08+mYMOOqhF+1FHHZUbbrgh9fX1ueyyy/Kv//qvqaury5AhQ/Kzn/0s22yzTaXv3Llzc8455+SBBx5Ikuy///654oor2vyEXlfS1hqde+652XHHHVt93HXXXZdjjjkmb731VkaPHp2XX345H330UTbeeOMMHz485557bnr16rW0p79MtLVGP//5z3PMMcdkxowZmTdvXtZff/3suuuuueCCC7LJJptU+i5YsCAXXnhhJk+enAULFmS33XbLlVde2aRPV9becy1JbrnllvzDP/xDXnzxxWy44YZN+n3yySdVrWNXVaoX55xzTs4777wkWenrUXtr9Prrr6/09ai9Nar2ebQi16NqnmvJ0qtHXSIsAgDQObrMNYsAACx7wiIAAEXCIgAARcIiAABFwiIAAEXCIgAARcIi0GU8+eSTqa2tzZNPPtkp2x83btxy8d1/r7/+empra/Ob3/yms6cCrASERYAVwLPPPptx48alrq6us6cCrGCERYAqnX322fnzn//c2dNI37598+c//zlHHnlkpW3atGm5/PLLM2/evE6cGbAi6hL/NzTA8qB79+7p3r3zy2ZNTU3WWGONzp4GsJJwZhFWYg3X4M2aNSunnXZa+vXrl8033zwXX3xxFi9enPfeey8nnnhi+vbtm/79++eyyy5r8vhf/OIX2XfffbPFFltk/fXXzy677JKbbrqpSZ8nnngivXr1yk9+8pMm7Y888khqa2tbjNlRBx54YA488MDivjVWW1ubMWPG5Le//W122WWXbLDBBtlzzz3zwgsvJEluv/32fP3rX8/666+fffbZJ6+++mq7Y26//fY57LDD8txzz2W//fbLBhtskG233TbXX399iznNnTs3P/7xj7PVVltlvfXWy84775xrr7029fVN/9fVJ554Ivvvv3/69euXjTfeOEOHDs2ZZ55Zub/5NYvjxo2rrO+OO+6Y2trayrWd3/ve97LFFltk4cKFLeZzwgknZMstt8yiRYuK6wvQ+X8iA51u1KhRGTBgQC666KI8+uijufrqq1NbW5s777wzgwcPzsUXX5ypU6fmsssuy3bbbZfvfOc7SZLrr78+e++9d0aMGJGampr89re/zemnn57FixfnxBNPTJLsvvvuGT16dK655prsv//+2XnnnVNXV5cf/ehHGTx4cM4666xluq/Tp0/Pww8/nJNPPjndu3fP+PHjM3LkyFx44YW56qqrcuKJJ2bBggUZP358Ro0alaeeeqrdMV9//fUceeSROfroo3P44Yfnrrvuyvnnn59BgwZlzz33TJJ8+umnOeigg/Lyyy9n1KhR2XLLLfPwww9n7NixefvttzNu3LgkySuvvJKRI0dmm222ybnnnps111wzc+bMyUMPPVTc/kEHHZRZs2blrrvuyk9/+tP07t07SbLVVlvl6KOPzqRJk/K73/0uBxxwQOUx8+bNy0MPPZSTTjppuThbCiy/VAggO+64Y6699tokXwTHnXbaKZdccknOOuusXHDBBUmSY445JoMGDcrNN99cCYvPPfdc1lxzzco4p556akaMGJFrrrmmEhaT5B//8R/z2GOP5bTTTsuTTz6Zs846K3Pnzs3dd9+9zIPKq6++munTp2fzzTdPkvTp0yennXZaLrzwwvznf/5n1llnnSTJaqutlosvvjgvvPBCBg8e3OaY//M//5MpU6Zkjz32SJIce+yx2W677TJhwoRKWJwwYUJefPHFXHPNNTn++OOTJKecckqOO+64/PKXv8wpp5yS/v375/HHH8+nn36ayZMnV0Jfklx88cXF7W+33XbZfvvtc9ddd+XAAw9Mv379Kvetu+662XjjjTNx4sQmYfGee+7JggULcsQRR3Rg9YCVkbehgUp4Sb64Hm7IkCGpr6/PscceW2lfY401st1222XOnDmVtoaguHDhwsydOzcffPBBdtttt8yePbvJBy169OiRX/7yl5kzZ04OPvjgTJ48OWPHjs2gQYOW/s41s+uuu1aCYpIMHTo0SbL//vtXgmKSDBkyJEny2muvtTtm//79K0ExSVZfffUMHTq0yVo99NBD6d27d4455phKW01NTU4//fTU19fn4YcfTpKsvfbaSZL77rsvixcv7vgONrPKKqtk5MiRefDBB5v8Tu64444MGjSo3SAMICwC2WSTTZr8/LWvfa3Y3virWe67777sscce2WCDDbL55punf//+ueSSS5Ik//d//9fksUOGDMlpp52W//iP/8iwYcPywx/+cGnsSrtK+7rxxhu32l7NV9FsuummLdpqa2szd+7cys9vvPFG+vfvn27dujXpt9VWW1XuT5LDDjss3/jGN3L66adnwIABOfHEEzNx4sRWrzms1lFHHZUFCxbknnvuSZK89dZbeeaZZ5xVBKoiLAItAkxb7Q0fxpg2bVqOPfbY9OjRI+PHj8/EiRMzZcqU/OAHP0iSFmfFFi5cmD/84Q9JkjfffLNFmPyyampqWm3//PPPW23vyL4mafHhkyX92OZ69OiRBx54IFOnTs2xxx6bWbNmZfTo0dlrr73yySefdHi8JNlyyy0zZMiQTJw4MUkyadKkJMnhhx/+pcYDVi7CIvClTJkyJWussUbuvvvuHH/88Rk+fHj22GOP9OjRo9X+l19+eWbMmJFLL7007733Xs4555wlMo/a2tpWv1uw4Uzd8qJv376ZPXt2ixDb8Inrvn37VtpWWWWV7Lbbbrnkkkvy9NNP58orr8yMGTNy7733FscvheYGRx11VJ5++um89dZbmThxYr71rW+1OMsK0BphEfhSunXrlrCCQtMAAAMYSURBVJqamiZnEOvq6nLLLbe06Pv888/nqquuyqhRo/KjH/0o5513Xm6//fbcd999X3keW2yxRV599dW8++67lbb//d//zf333/+Vx16S9t1337z//vu57bbbKm319fX5xS9+kZqamgwfPjxJ8uGHH7Z47I477pik7bfEG64fLfU57LDDsuqqq+bCCy/Myy+/3OQLvQHa4tPQwJey33775brrrsshhxySI444InPnzs2ECROy3nrr5Z133qn0W7BgQU499dRssskmlesZTz/99DzwwAM544wzMmzYsCaf+u2o448/Ptdee20OOeSQnHDCCZk3b15+/etfp3///vnjH//4lfdzSTn++ONz00035Ywzzsh//dd/ZcCAAfnd736Xhx9+OKeeemr69++fJLniiivy1FNPZd99903fvn1TV1eXX//61+nZs2f222+/4vg77bRTkuTSSy/NYYcdltVWWy277bZb+vTpkyTp1atX9ttvv9x9993p0aNHDj744KW/08AKwZlF4EvZddddc8MNN2Tu3Lk577zzcsstt2T06NH5/ve/36TfpZdemlmzZuX666/PWmutleSLs5I33HBDPvroo4wZM+YrzWPAgAH51a9+lQULFuSCCy7IpEmTcumll7YZrDrDGmuskalTp+a4447L3XffnfPPPz+zZ8/OpZdeWvmOxSQ54IADstlmm+W2227L2WefnRtuuCE77LBDHnzwwSZvVTf39a9/PWPHjs0rr7ySH/7whzn55JPzyiuvNOlz1FFHJfnii8wbPnUN0J6aurq6jl+BDUCX8+ijj+awww7LpEmTss8++3T2dIAuwplFgJXEhAkTKv/FIUC1XLMIdLr58+fno48+arNPr169stpqqy2jGa1Y7rzzzrzyyiu59957c/HFFxe/6gegNd6GBjrduHHjcvnll7fZ5957782uu+66jGa0YqmtrU3Pnj1z0EEH5ZprrhG6gQ4RFoFON2fOnCb/NV5rBg8enNra2mUzIQAqhEUAAIp8wAUAgCJhEQCAImERAIAiYREAgCJhEQCAov8Ppv8M2G56+n4AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (10,6))\n",
    "\n",
    "sns.boxplot(data['max_luminosity'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### max_luminosity > 250 might be outliears "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>grade_A_Component_1</th>\n",
       "      <th>grade_A_Component_2</th>\n",
       "      <th>max_luminosity</th>\n",
       "      <th>thickness</th>\n",
       "      <th>xmin</th>\n",
       "      <th>xmax</th>\n",
       "      <th>ymin</th>\n",
       "      <th>ymax</th>\n",
       "      <th>pixel_area</th>\n",
       "      <th>log_area</th>\n",
       "      <th>x_component_1</th>\n",
       "      <th>x_component_2</th>\n",
       "      <th>x_component_3</th>\n",
       "      <th>x_component_4</th>\n",
       "      <th>x_component_5</th>\n",
       "      <th>class</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>315</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>251</td>\n",
       "      <td>83</td>\n",
       "      <td>94</td>\n",
       "      <td>136</td>\n",
       "      <td>907404</td>\n",
       "      <td>907096</td>\n",
       "      <td>686</td>\n",
       "      <td>686.398521</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>528</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>266</td>\n",
       "      <td>99</td>\n",
       "      <td>365</td>\n",
       "      <td>1000</td>\n",
       "      <td>4600267</td>\n",
       "      <td>4601508</td>\n",
       "      <td>12097</td>\n",
       "      <td>12097.082130</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>608</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>266</td>\n",
       "      <td>82</td>\n",
       "      <td>531</td>\n",
       "      <td>677</td>\n",
       "      <td>1470886</td>\n",
       "      <td>1471156</td>\n",
       "      <td>1951</td>\n",
       "      <td>1951.676753</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>671</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>258</td>\n",
       "      <td>41</td>\n",
       "      <td>1118</td>\n",
       "      <td>1133</td>\n",
       "      <td>2674349</td>\n",
       "      <td>2673754</td>\n",
       "      <td>353</td>\n",
       "      <td>353.332846</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     grade_A_Component_1  grade_A_Component_2  max_luminosity  thickness  \\\n",
       "315                    1                    0             251         83   \n",
       "528                    1                    0             266         99   \n",
       "608                    1                    0             266         82   \n",
       "671                    0                    1             258         41   \n",
       "\n",
       "     xmin  xmax     ymin     ymax  pixel_area      log_area  x_component_1  \\\n",
       "315    94   136   907404   907096         686    686.398521              0   \n",
       "528   365  1000  4600267  4601508       12097  12097.082130              0   \n",
       "608   531   677  1470886  1471156        1951   1951.676753              0   \n",
       "671  1118  1133  2674349  2673754         353    353.332846              0   \n",
       "\n",
       "     x_component_2  x_component_3  x_component_4  x_component_5  class  \n",
       "315              0              0              0              0      1  \n",
       "528              0              0              0              0      2  \n",
       "608              0              0              0              0      2  \n",
       "671              0              0              0              0      2  "
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.loc[data['max_luminosity'] > 250]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Skewness: 0.27504955350698607\n",
      "Kurtosis: -0.5819448168640529\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (10,6))\n",
    "\n",
    "x = data['max_luminosity']/data['thickness']\n",
    "\n",
    "sns.distplot(x)\n",
    "print('Skewness: {}'.format(x.skew()))\n",
    "print('Kurtosis: {}'.format(x.kurt()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Skewness: 0.910371579193325\n",
      "Kurtosis: 0.14766600912533878\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (10,6))\n",
    "\n",
    "x = np.log1p(abs(data['xmax'] - data['xmin']))\n",
    "\n",
    "sns.distplot(x)\n",
    "print('Skewness: {}'.format(x.skew()))\n",
    "print('Kurtosis: {}'.format(x.kurt()))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### log_xrange = np.log1p(abs(data['xmax'] - data['xmin']))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Skewness: -0.1213232981035754\n",
      "Kurtosis: -0.7593382746699948\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (10,6))\n",
    "\n",
    "x = np.sqrt(abs(data['ymin'] - data['ymax']))\n",
    "\n",
    "sns.distplot(x)\n",
    "print('Skewness: {}'.format(x.skew()))\n",
    "print('Kurtosis: {}'.format(x.kurt()))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### sqrt_yrange = np.sqrt(abs(data['ymax'] - data['ymin'])))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### from the data we can see that pixel_area is the outcome when floor function is applied of log_area, or neglect the values after decimal in log_area, you'll be getting pixel_area"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Skewness: 0.9598422588639847\n",
      "Kurtosis: 0.1866488051064219\n"
     ]
    },
    {
     "data": {
      "image/png": "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f6BcNRLDBk+Px6NTTjlFDz74oK666qrjx2+99Vbt2rVLTz31VNA1n/rUpzRnzhz97Gc/O37sr3/9q4qLi3X06FE5nSxpAAAAkGiGnahQV1cnn8+n3Nxcy/Hc3FzV1NQMeE1NTc2A53u9XtXV1Z1EcwEAABCrQp4hGzi3wDTNIecbDHT+QMcBAACQGIYNnjk5ObLb7UG9m7W1tUG9mr0mTpw44PkOh0Pjx48/ieYCAAAgVg0bPF0ul+bOnavy8nLL8fLyci1cuHDAaxYsWKB//etfQeefc845zO8EAABIUCENta9atUqPPPKI1q1bp7179+r2229XVVWVVq5cKUkqKSlRSUnJ8fNXrlypDz74QKtXr9bevXu1bt06PfLII7rpppvG5m8BAACAqBdS8Fy6dKnuuusulZaW6qKLLtL27du1fv165eXlSZIqKytVWVl5/PwZM2Zo/fr12rZtmy666CL97Gc/009/+tOwr+FZVlamwsJCud1uLVmyRNu2bQvr10ePn//857rkkks0bdo0zZw5U1dffbV27doV6WZB0j333KOsrCx961vfinRTElZVVZWuv/56zZw5U263WwsXLtSWLVsi3ayE5PP59MMf/vD450ZhYaF++MMfyutlfdxw2Lp1q6655hrNmjVLWVlZ+sMf/mB53jRN3XXXXTrzzDM1adIkXX755dq9e3eEWhvfhroX3d3duvPOO7V48WJNnjxZBQUFKi4u1uHDh0N67ZB3LiouLlZxcfGAz23cuDHo2IUXXqjNmzeH+vKjbqSL3mPsbNmyRdddd53mzZsn0zT14x//WFdddZV27Nih7OzsSDcvYb388st6+OGHNWfOnEg3JWE1NjbqE5/4hBYtWqT169crJydHBw8eHHT+PMbWL37xC5WVlem///u/NXv2bL3zzju64YYb5HK5dNttt0W6eXGvra1Ns2fP1he/+EVdf/31Qc/fe++9WrNmjdasWaP8/Hzdfffd+tznPqeXX35ZGRkZEWhx/BrqXrS3t+uNN97QrbfeqrPPPlvNzc36zne+oy984QvaunWrHI6ho2VIC8jHopEueo/waW1tVV5env7whz/oU5/6VKSbk5Campq0ZMkS3Xvvvbr77rs1e/ZslZaWRrpZCef73/++tm7dqr///e+RbgokXX311crOztb9999//Nj111+vhoYGPfrooxFs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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (10,6))\n",
    "\n",
    "x = np.log(data['pixel_area'])\n",
    "\n",
    "sns.distplot(x)\n",
    "print('Skewness: {}'.format(x.skew()))\n",
    "print('Kurtosis: {}'.format(x.kurt()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x7f2921678d50>"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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AAAAwxAAAQAADEMABAAAMAwBEAAAwDAEQAAAAMPUmAD4+uuv66qrrpLdblfPnj311Vdf+bukKpeQkKDg4GC3P5dffrn1uMPhUEJCgiIiIhQaGqo77rhDP/30k9s5cnNzNXToULVs2VItW7bU0KFDlZub6zYmLS1Nt99+u0JDQ9WhQwfNnj1bDsf58cvfX375pQYMGKAOHTooODhY7777rtvj1dmjTz75RNdff72aNWum66+/XqtXr66aRZ+Fsvo1YsSIEnuud+/ebmNOnjyp8ePHq23btgoLC9OAAQO0f/9+tzGZmZmKjY1VWFiY2rZtq6eeekqnTp1yG7N582b17NlTdrtd//d//6c33nijahZdSc8995xuueUWhYeHq127doqNjdXOnTvdxrC//qc8/WJ/uVu8eLG6deum8PBwhYeHq0+fPvr888+tx9lf7srqF/vr3KoRAXDlypWKi4vT2LFjtWnTJl133XXq37+/MjMz/V1alWvfvr1+/vln649r8H3xxRe1YMECzZ49Wxs2bFDTpk11zz336NixY9aYRx55RD/88IOWL1+uFStW6IcfftCwYcOsx48ePap77rlHzZo104YNGzRr1izNnz9fL7/8crWus7KOHz+ujh07atasWapXr16Jx6urRykpKRo8eLD69++v5ORk9e/fXw899JC++eabqm1ABZXVL0m6+eab3fbc8uXL3R6Pj4/X6tWrtWTJEq1Zs0bHjh1TbGysioqKJElFRUWKjY1Vfn6+1qxZoyVLligxMVGTJk2yzrFnzx7FxMTouuuu06ZNmzRmzBg99dRT+uSTT6pu8RW0efNmPfzww/r888+VmJiowMBA9evXTzk5OdYY9tf/lKdfEvvLVVhYmJ5++mlt3LhRSUlJuummmzRw4ED9+OOPkthfnsrql8T+OpdqxPcARkdHKzIyUi+99JJ13zXXXKO7775b06ZN82NlVSshIUGJiYnasmVLicccDociIiI0ZMgQjRs3TpJ04sQJtW/fXs8884wGDRqkn3/+Wddff70+++wzde3aVZK0ZcsW9e3bV6mpqWrfvr2WLFmi6dOn65dffrECwdy5c/XGG29o586dstls1bfgs9SiRQvNmTNHAwcOlFS9PRo0aJBycnK0atUqq567775bTZo00ZIlS6q5E+Xj2S/pzN+gjxw5og8++MDrMXl5ebrsssu0YMECxcTESJJ+//13derUSStWrFB0dLTWrl2rmJgY7dixQ5deeqkk6YMPPtDjjz+u9PR0NWzYUNOmTdPq1av17bffWuceNWqUdu3apbVr11bhqisvPz9fLVu21Lvvvqu+ffuyv8rg2S+J/VUerVu31rRp0/TQQw+xv8rB2a9Bgwaxv84xv18BPHXqlLZv365evXq53d+rVy9t3brVT1VVnz179qhDhw666qqrNHjwYO3Zs0eStHfvXmVlZbn1pV69eurWrZvVl5SUFDVo0EDXX3+9NaZr166qX7++25gbbrjB7WpQdHS0Dh48qL1791bDCqtOdfYoNTW1xB6Njo4+L/foli1bdNlll6lz5856/PHH9eeff1qPbd++XadPn3Zb66WXXqorrrjCrV9XXHGF9S9P6UwvTp48qe3bt1tjvPXru+++0+nTp6tyeZWWn5+v4uJiBQcHS2J/lcWzX07sL++Kior00Ucf6fjx47ruuuvYX2Xw7JcT++vc8XsAzM7OVlFRkZo2bep2f9OmTXXo0CE/VVU9unTpooULF2r58uV66aWXlJWVpVtvvVVHjhxRVlaWJJXal0OHDikkJMTtKp7NZlOTJk3cxng7h/Ox81l19igrK+uC2KO9e/fWq6++qk8++UQzZszQtm3bdNddd+nkyZOSzqw3ICBAISEhbsd59tSzFyEhIQoICCizp4WFhcrOzq6q5Z2VuLg4derUyfqPDfurdJ79kthf3qSlpalFixZq1qyZRo8erXfeeUeRkZHsLx989Utif51rgf4uwMnzrUiHw3FevT1ZGX369HG73aVLF0VFRem9997TtddeK6nsvnjrUVljnB8OvlD6W109uhD26H333Wf9HBkZqaioKHXq1Emff/657rrrLp/HlaennvefT/tu4sSJ+vrrr/XZZ58pICDA7TH2V0m++sX+Kql9+/ZKTk5WXl6eEhMTNWLECH366afW4+wvd7761bFjR/bXOeb3K4Ceydvp8OHDJRL4ha5BgwaKiIhQRkaG7Ha7pJJX6Vz70qxZMx0+fNjtt70cDoeys7Pdxng7h1Tyb57nm+rskd1uvyD3aPPmzRUWFqaMjAxJZ3pRVFRU4m+5nj317IXnlXxfPQ0MDFTjxo2rajmVEh8fr48++kiJiYlq3bq1dT/7yztf/fKG/SXVrl1bbdu21dVXX61p06apU6dOWrhwIfvLB1/98ob9dXb8HgBr166tqKgoJSUlud2flJTk9rkHExQUFCg9PV12u12tWrWS3W5360tBQYG2bNli9eW6665Tfn6+UlJSrDEpKSk6fvy425gtW7aooKDAGpOUlKTmzZurVatW1bSyqlGdPbr22msvyD2anZ2tgwcPWv8xioqKUlBQkNta9+/fb30YXTrTr59//tntqxWSkpJUp04dRUVFWWP++9//us2VlJSkq6++WkFBQVW8qvKbMGGCVqxYocTERLevYJLYX96U1i9vTN9f3hQXF+vUqVPsr3Jy9ssb9tfZCYiLi5vu7yIuvvhiJSQkKDQ0VHXr1tXcuXP11Vdf6eWXX9Yll1zi7/KqzOTJk1W7dm0VFxfr119/1fjx45WRkaHnn39ewcHBKioq0vPPP6/LLrtMRUVFmjRpkrKysvTCCy+oTp06atKkib755hutWLFCV111lfbv36/Ro0frmmuusb4moF27dnrzzTe1Y8cOtW/fXlu2bNHUqVP15JNPnhcv/vz8fO3atUtZWVl6++231bFjRzVs2FCnTp3SJZdcUm09at68uWbOnKmgoCCFhIRo6dKlevfdd/Xiiy8qLCzMny1yU1q/AgIC9K9//UsNGjRQYWGhduzYoVGjRqmoqEhz585VnTp1VLduXf3xxx9avHixrrzySuXl5Wn06NFq2LChnn76adWqVUutW7fW6tWrtWHDBkVGRmrXrl0aN26c+vfvrzvvvFOS1KZNG73wwgv6888/FR4erjVr1mjevHmaMWOGIiIi/NylM8aNG6f3339fb731li699FIdP35cx48fl3TmL6Y2m4395aKsfuXn57O/PEyfPt36d/z+/fv1yiuv6MMPP9T06dPVrl079peH0vplt9vZX+dYjfgaGOnMF0G/+OKLysrKUocOHTRz5kx1797d32VVqcGDB+urr75Sdna2mjRpoi5dumjSpEnWBnM4HJo1a5beeust5ebmqnPnznr22WfVsWNH6xw5OTmaMGGC/vOf/0iS+vbtqzlz5rj9Zl5aWprGjRunb7/9VsHBwRo0aJAmTJhwXnyWITk52XpRuvr73/+uV155pVp75Pzg8Z49e9SmTRtNnjy51M+d+ENp/Xruuec0cOBA/fDDD8rLy5PdbteNN96oSZMmuf1GXEFBgaZMmaIVK1aooKBAN910k+bN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\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (10,6))\n",
    "\n",
    "sns.boxplot(data['pixel_area'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### log_pixel_area = np.log(data['pixel_area'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Feature Transformation/Engineering"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pd.read_csv('Train.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "data['log_max_luminosity'] = np.log(data['max_luminosity'])\n",
    "data['log_pixel_area'] = np.log(data['pixel_area'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "data['log_xrange'] = np.log1p(abs(data['xmax'] - data['xmin']))\n",
    "data['sqrt_yrange'] = np.sqrt(abs(data['ymax'] - data['ymin']))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "data['max_luminosity/thickness'] = data['max_luminosity']/data['thickness']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "data['avg_x_component'] = (data['x_component_1'] + data['x_component_2'] + data['x_component_3'] + data['x_component_4'] + data['x_component_5'])/5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = data.drop(['grade_A_Component_2','log_area'], axis = 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>grade_A_Component_1</th>\n",
       "      <th>max_luminosity</th>\n",
       "      <th>thickness</th>\n",
       "      <th>xmin</th>\n",
       "      <th>xmax</th>\n",
       "      <th>ymin</th>\n",
       "      <th>ymax</th>\n",
       "      <th>pixel_area</th>\n",
       "      <th>x_component_1</th>\n",
       "      <th>x_component_2</th>\n",
       "      <th>x_component_3</th>\n",
       "      <th>x_component_4</th>\n",
       "      <th>x_component_5</th>\n",
       "      <th>class</th>\n",
       "      <th>log_max_luminosity</th>\n",
       "      <th>log_pixel_area</th>\n",
       "      <th>log_xrange</th>\n",
       "      <th>sqrt_yrange</th>\n",
       "      <th>max_luminosity/thickness</th>\n",
       "      <th>avg_x_component</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>150</td>\n",
       "      <td>36</td>\n",
       "      <td>144</td>\n",
       "      <td>172</td>\n",
       "      <td>947225</td>\n",
       "      <td>947332</td>\n",
       "      <td>439</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>5.010635</td>\n",
       "      <td>6.084499</td>\n",
       "      <td>3.367296</td>\n",
       "      <td>10.344080</td>\n",
       "      <td>4.166667</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>134</td>\n",
       "      <td>55</td>\n",
       "      <td>1144</td>\n",
       "      <td>1152</td>\n",
       "      <td>2379058</td>\n",
       "      <td>2379624</td>\n",
       "      <td>329</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>4.897840</td>\n",
       "      <td>5.796058</td>\n",
       "      <td>2.197225</td>\n",
       "      <td>23.790755</td>\n",
       "      <td>2.436364</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>135</td>\n",
       "      <td>65</td>\n",
       "      <td>950</td>\n",
       "      <td>974</td>\n",
       "      <td>1038442</td>\n",
       "      <td>1036754</td>\n",
       "      <td>300</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>4.905275</td>\n",
       "      <td>5.703782</td>\n",
       "      <td>3.218876</td>\n",
       "      <td>41.085277</td>\n",
       "      <td>2.076923</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>123</td>\n",
       "      <td>35</td>\n",
       "      <td>41</td>\n",
       "      <td>220</td>\n",
       "      <td>1705580</td>\n",
       "      <td>1705604</td>\n",
       "      <td>6803</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>4.812184</td>\n",
       "      <td>8.825119</td>\n",
       "      <td>5.192957</td>\n",
       "      <td>4.898979</td>\n",
       "      <td>3.514286</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>138</td>\n",
       "      <td>69</td>\n",
       "      <td>462</td>\n",
       "      <td>466</td>\n",
       "      <td>1088124</td>\n",
       "      <td>1086579</td>\n",
       "      <td>251</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>4.927254</td>\n",
       "      <td>5.525453</td>\n",
       "      <td>1.609438</td>\n",
       "      <td>39.306488</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   grade_A_Component_1  max_luminosity  thickness  xmin  xmax     ymin  \\\n",
       "0                    0             150         36   144   172   947225   \n",
       "1                    1             134         55  1144  1152  2379058   \n",
       "2                    1             135         65   950   974  1038442   \n",
       "3                    0             123         35    41   220  1705580   \n",
       "4                    1             138         69   462   466  1088124   \n",
       "\n",
       "      ymax  pixel_area  x_component_1  x_component_2  x_component_3  \\\n",
       "0   947332         439              0              0              1   \n",
       "1  2379624         329              1              0              0   \n",
       "2  1036754         300              0              0              0   \n",
       "3  1705604        6803              0              0              1   \n",
       "4  1086579         251              0              0              0   \n",
       "\n",
       "   x_component_4  x_component_5  class  log_max_luminosity  log_pixel_area  \\\n",
       "0              0              0      1            5.010635        6.084499   \n",
       "1              0              0      1            4.897840        5.796058   \n",
       "2              0              0      2            4.905275        5.703782   \n",
       "3              0              0      1            4.812184        8.825119   \n",
       "4              0              0      2            4.927254        5.525453   \n",
       "\n",
       "   log_xrange  sqrt_yrange  max_luminosity/thickness  avg_x_component  \n",
       "0    3.367296    10.344080                  4.166667              0.2  \n",
       "1    2.197225    23.790755                  2.436364              0.2  \n",
       "2    3.218876    41.085277                  2.076923              0.0  \n",
       "3    5.192957     4.898979                  3.514286              0.2  \n",
       "4    1.609438    39.306488                  2.000000              0.0  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "target = data.pop('class')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1358, 19)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>grade_A_Component_1</th>\n",
       "      <th>max_luminosity</th>\n",
       "      <th>thickness</th>\n",
       "      <th>xmin</th>\n",
       "      <th>xmax</th>\n",
       "      <th>ymin</th>\n",
       "      <th>ymax</th>\n",
       "      <th>pixel_area</th>\n",
       "      <th>x_component_1</th>\n",
       "      <th>x_component_2</th>\n",
       "      <th>x_component_3</th>\n",
       "      <th>x_component_4</th>\n",
       "      <th>x_component_5</th>\n",
       "      <th>class</th>\n",
       "      <th>log_max_luminosity</th>\n",
       "      <th>log_pixel_area</th>\n",
       "      <th>log_xrange</th>\n",
       "      <th>sqrt_yrange</th>\n",
       "      <th>max_luminosity/thickness</th>\n",
       "      <th>avg_x_component</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>150</td>\n",
       "      <td>36</td>\n",
       "      <td>144</td>\n",
       "      <td>172</td>\n",
       "      <td>947225</td>\n",
       "      <td>947332</td>\n",
       "      <td>439</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>5.010635</td>\n",
       "      <td>6.084499</td>\n",
       "      <td>3.367296</td>\n",
       "      <td>10.344080</td>\n",
       "      <td>4.166667</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>134</td>\n",
       "      <td>55</td>\n",
       "      <td>1144</td>\n",
       "      <td>1152</td>\n",
       "      <td>2379058</td>\n",
       "      <td>2379624</td>\n",
       "      <td>329</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>4.897840</td>\n",
       "      <td>5.796058</td>\n",
       "      <td>2.197225</td>\n",
       "      <td>23.790755</td>\n",
       "      <td>2.436364</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>135</td>\n",
       "      <td>65</td>\n",
       "      <td>950</td>\n",
       "      <td>974</td>\n",
       "      <td>1038442</td>\n",
       "      <td>1036754</td>\n",
       "      <td>300</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>4.905275</td>\n",
       "      <td>5.703782</td>\n",
       "      <td>3.218876</td>\n",
       "      <td>41.085277</td>\n",
       "      <td>2.076923</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>123</td>\n",
       "      <td>35</td>\n",
       "      <td>41</td>\n",
       "      <td>220</td>\n",
       "      <td>1705580</td>\n",
       "      <td>1705604</td>\n",
       "      <td>6803</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>4.812184</td>\n",
       "      <td>8.825119</td>\n",
       "      <td>5.192957</td>\n",
       "      <td>4.898979</td>\n",
       "      <td>3.514286</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>138</td>\n",
       "      <td>69</td>\n",
       "      <td>462</td>\n",
       "      <td>466</td>\n",
       "      <td>1088124</td>\n",
       "      <td>1086579</td>\n",
       "      <td>251</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>4.927254</td>\n",
       "      <td>5.525453</td>\n",
       "      <td>1.609438</td>\n",
       "      <td>39.306488</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   grade_A_Component_1  max_luminosity  thickness  xmin  xmax     ymin  \\\n",
       "0                    0             150         36   144   172   947225   \n",
       "1                    1             134         55  1144  1152  2379058   \n",
       "2                    1             135         65   950   974  1038442   \n",
       "3                    0             123         35    41   220  1705580   \n",
       "4                    1             138         69   462   466  1088124   \n",
       "\n",
       "      ymax  pixel_area  x_component_1  x_component_2  x_component_3  \\\n",
       "0   947332         439              0              0              1   \n",
       "1  2379624         329              1              0              0   \n",
       "2  1036754         300              0              0              0   \n",
       "3  1705604        6803              0              0              1   \n",
       "4  1086579         251              0              0              0   \n",
       "\n",
       "   x_component_4  x_component_5  class  log_max_luminosity  log_pixel_area  \\\n",
       "0              0              0      1            5.010635        6.084499   \n",
       "1              0              0      1            4.897840        5.796058   \n",
       "2              0              0      2            4.905275        5.703782   \n",
       "3              0              0      1            4.812184        8.825119   \n",
       "4              0              0      2            4.927254        5.525453   \n",
       "\n",
       "   log_xrange  sqrt_yrange  max_luminosity/thickness  avg_x_component  \n",
       "0    3.367296    10.344080                  4.166667              0.2  \n",
       "1    2.197225    23.790755                  2.436364              0.2  \n",
       "2    3.218876    41.085277                  2.076923              0.0  \n",
       "3    5.192957     4.898979                  3.514286              0.2  \n",
       "4    1.609438    39.306488                  2.000000              0.0  "
      ]
     },
     "execution_count": 110,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1358, 20)"
      ]
     },
     "execution_count": 111,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>grade_A_Component_1</th>\n",
       "      <th>max_luminosity</th>\n",
       "      <th>thickness</th>\n",
       "      <th>xmin</th>\n",
       "      <th>xmax</th>\n",
       "      <th>ymin</th>\n",
       "      <th>ymax</th>\n",
       "      <th>pixel_area</th>\n",
       "      <th>x_component_1</th>\n",
       "      <th>x_component_2</th>\n",
       "      <th>x_component_3</th>\n",
       "      <th>x_component_4</th>\n",
       "      <th>x_component_5</th>\n",
       "      <th>log_max_luminosity</th>\n",
       "      <th>log_pixel_area</th>\n",
       "      <th>log_xrange</th>\n",
       "      <th>sqrt_yrange</th>\n",
       "      <th>max_luminosity/thickness</th>\n",
       "      <th>avg_x_component</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>150</td>\n",
       "      <td>36</td>\n",
       "      <td>144</td>\n",
       "      <td>172</td>\n",
       "      <td>947225</td>\n",
       "      <td>947332</td>\n",
       "      <td>439</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5.010635</td>\n",
       "      <td>6.084499</td>\n",
       "      <td>3.367296</td>\n",
       "      <td>10.344080</td>\n",
       "      <td>4.166667</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>134</td>\n",
       "      <td>55</td>\n",
       "      <td>1144</td>\n",
       "      <td>1152</td>\n",
       "      <td>2379058</td>\n",
       "      <td>2379624</td>\n",
       "      <td>329</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.897840</td>\n",
       "      <td>5.796058</td>\n",
       "      <td>2.197225</td>\n",
       "      <td>23.790755</td>\n",
       "      <td>2.436364</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>135</td>\n",
       "      <td>65</td>\n",
       "      <td>950</td>\n",
       "      <td>974</td>\n",
       "      <td>1038442</td>\n",
       "      <td>1036754</td>\n",
       "      <td>300</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.905275</td>\n",
       "      <td>5.703782</td>\n",
       "      <td>3.218876</td>\n",
       "      <td>41.085277</td>\n",
       "      <td>2.076923</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0</td>\n",
       "      <td>123</td>\n",
       "      <td>35</td>\n",
       "      <td>41</td>\n",
       "      <td>220</td>\n",
       "      <td>1705580</td>\n",
       "      <td>1705604</td>\n",
       "      <td>6803</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.812184</td>\n",
       "      <td>8.825119</td>\n",
       "      <td>5.192957</td>\n",
       "      <td>4.898979</td>\n",
       "      <td>3.514286</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>138</td>\n",
       "      <td>69</td>\n",
       "      <td>462</td>\n",
       "      <td>466</td>\n",
       "      <td>1088124</td>\n",
       "      <td>1086579</td>\n",
       "      <td>251</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.927254</td>\n",
       "      <td>5.525453</td>\n",
       "      <td>1.609438</td>\n",
       "      <td>39.306488</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   grade_A_Component_1  max_luminosity  thickness  xmin  xmax     ymin  \\\n",
       "0                    0             150         36   144   172   947225   \n",
       "1                    1             134         55  1144  1152  2379058   \n",
       "2                    1             135         65   950   974  1038442   \n",
       "3                    0             123         35    41   220  1705580   \n",
       "4                    1             138         69   462   466  1088124   \n",
       "\n",
       "      ymax  pixel_area  x_component_1  x_component_2  x_component_3  \\\n",
       "0   947332         439              0              0              1   \n",
       "1  2379624         329              1              0              0   \n",
       "2  1036754         300              0              0              0   \n",
       "3  1705604        6803              0              0              1   \n",
       "4  1086579         251              0              0              0   \n",
       "\n",
       "   x_component_4  x_component_5  log_max_luminosity  log_pixel_area  \\\n",
       "0              0              0            5.010635        6.084499   \n",
       "1              0              0            4.897840        5.796058   \n",
       "2              0              0            4.905275        5.703782   \n",
       "3              0              0            4.812184        8.825119   \n",
       "4              0              0            4.927254        5.525453   \n",
       "\n",
       "   log_xrange  sqrt_yrange  max_luminosity/thickness  avg_x_component  \n",
       "0    3.367296    10.344080                  4.166667              0.2  \n",
       "1    2.197225    23.790755                  2.436364              0.2  \n",
       "2    3.218876    41.085277                  2.076923              0.0  \n",
       "3    5.192957     4.898979                  3.514286              0.2  \n",
       "4    1.609438    39.306488                  2.000000              0.0  "
      ]
     },
     "execution_count": 113,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1358, 19)"
      ]
     },
     "execution_count": 114,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0       1\n",
       "1       1\n",
       "2       2\n",
       "3       1\n",
       "4       2\n",
       "       ..\n",
       "1353    1\n",
       "1354    2\n",
       "1355    1\n",
       "1356    2\n",
       "1357    2\n",
       "Name: class, Length: 1358, dtype: int64"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import LabelBinarizer\n",
    "lb = LabelBinarizer()\n",
    "\n",
    "target = lb.fit_transform(target.values)[:, 0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 0, 1, ..., 0, 1, 1])"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "target"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Creating training and validation sets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "train_x, val_x, train_y, val_y = train_test_split(data.values, target, test_size = 0.2, random_state = 123)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[  1.        , 125.        ,  72.        , ...,  13.89244399,\n",
       "          1.73611111,   0.        ],\n",
       "       [  0.        , 146.        , 100.        , ...,  26.70205985,\n",
       "          1.46      ,   0.2       ],\n",
       "       [  0.        , 145.        ,  44.        , ...,  26.81417536,\n",
       "          3.29545455,   0.2       ],\n",
       "       ...,\n",
       "       [  1.        , 167.        ,  72.        , ...,  27.07397274,\n",
       "          2.31944444,   0.        ],\n",
       "       [  0.        , 150.        ,  35.        , ...,  43.19722213,\n",
       "          4.28571429,   0.2       ],\n",
       "       [  0.        , 144.        ,  36.        , ...,  38.82009789,\n",
       "          4.        ,   0.2       ]])"
      ]
     },
     "execution_count": 131,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_x"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Data Scaling"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "scaler = StandardScaler()\n",
    "\n",
    "train_x = scaler.fit_transform(train_x)\n",
    "val_x = scaler.transform(val_x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 1.22333631, -0.63565255, -0.13046925, ..., -1.02881628,\n",
       "        -0.5527618 , -0.9033568 ],\n",
       "       [-0.8174367 ,  0.38409225,  0.36041282, ...,  0.26689615,\n",
       "        -0.80184028,  1.10698231],\n",
       "       [-0.8174367 ,  0.33553297, -0.62135131, ...,  0.2782368 ,\n",
       "         0.85391422,  1.10698231],\n",
       "       ...,\n",
       "       [ 1.22333631,  1.40383704, -0.13046925, ...,  0.30451571,\n",
       "        -0.02653968, -0.9033568 ],\n",
       "       [-0.8174367 ,  0.57832935, -0.77913483, ...,  1.93540729,\n",
       "         1.74722264,  1.10698231],\n",
       "       [-0.8174367 ,  0.28697369, -0.76160333, ...,  1.49265441,\n",
       "         1.4894812 ,  1.10698231]])"
      ]
     },
     "execution_count": 133,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train_x"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Modelling and cross_validation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 325,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.model_selection import cross_val_score\n",
    "from sklearn.model_selection import StratifiedKFold \n",
    "\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "from xgboost import XGBClassifier\n",
    "from lightgbm import LGBMClassifier\n",
    "from sklearn.svm import SVC\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.ensemble import GradientBoostingClassifier\n",
    "from sklearn.ensemble import ExtraTreesClassifier\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "\n",
    "lr = LogisticRegression()\n",
    "#knn = KNeighborsClassifier(n_neighbors=3)\n",
    "xgb = XGBClassifier()\n",
    "lgb = LGBMClassifier()\n",
    "svc = SVC(probability=True, kernel='linear', C=7)\n",
    "rfc = RandomForestClassifier(n_estimators=100, max_features=5)\n",
    "gbc = GradientBoostingClassifier(n_estimators=100, max_features=8)\n",
    "etc = ExtraTreesClassifier(n_estimators=80, max_features=7)\n",
    "dc = DecisionTreeClassifier()\n",
    "\n",
    "scores = cross_val_score(etc, train_x, train_y, scoring = 'neg_log_loss', cv = StratifiedKFold(n_splits = 5, shuffle = True))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 330,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.ensemble import BaggingClassifier\n",
    "\n",
    "bc = BaggingClassifier(base_estimator=ExtraTreesClassifier(n_estimators=80, max_features=7), random_state=0)\n",
    "\n",
    "scores = cross_val_score(bc, train_x, train_y, scoring = 'neg_log_loss', cv = StratifiedKFold(n_splits = 5, shuffle = True))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 331,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.26923122328295385"
      ]
     },
     "execution_count": 331,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "scores.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 332,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.ensemble import StackingClassifier\n",
    "\n",
    "estimators = [('rfc',rfc),('gbc',gbc),('etc',etc),('lr',lr)]\n",
    "\n",
    "sc = StackingClassifier(estimators=estimators)\n",
    "\n",
    "scores = cross_val_score(sc, train_x, train_y, scoring = 'neg_log_loss', cv = StratifiedKFold(n_splits = 5, shuffle = True))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 333,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.2784868024659486"
      ]
     },
     "execution_count": 333,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "scores.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {},
   "outputs": [],
   "source": [
    "#SVC\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "param_grid = {'kernel':('linear','rbf'),\n",
    "             'C': [0.1,1,10,100],\n",
    "             'gamma' :('scale','auto')}\n",
    "\n",
    "grid_search_svc = GridSearchCV(svc, param_grid=param_grid, cv=StratifiedKFold(n_splits = 5, shuffle = False), scoring='neg_log_loss')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 141,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=StratifiedKFold(n_splits=5, random_state=None, shuffle=False),\n",
       "             error_score=nan,\n",
       "             estimator=SVC(C=1.0, break_ties=False, cache_size=200,\n",
       "                           class_weight=None, coef0=0.0,\n",
       "                           decision_function_shape='ovr', degree=3,\n",
       "                           gamma='scale', kernel='rbf', max_iter=-1,\n",
       "                           probability=True, random_state=None, shrinking=True,\n",
       "                           tol=0.001, verbose=False),\n",
       "             iid='deprecated', n_jobs=None,\n",
       "             param_grid={'C': [0.1, 1, 10, 100], 'gamma': ('scale', 'auto'),\n",
       "                         'kernel': ('linear', 'rbf')},\n",
       "             pre_dispatch='2*n_jobs', refit=True, return_train_score=False,\n",
       "             scoring='neg_log_loss', verbose=0)"
      ]
     },
     "execution_count": 141,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grid_search_svc.fit(train_x, train_y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.33200574247818365"
      ]
     },
     "execution_count": 142,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grid_search_svc.best_score_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "#LR\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "param_grid = {'C': [0.1,1,10,100],\n",
    "             'class_weight':(None, 'balanced')}\n",
    "lr = LogisticRegression(max_iter=1000)\n",
    "grid_search_lr = GridSearchCV(lr, param_grid=param_grid, cv=StratifiedKFold(n_splits = 5, shuffle = False), scoring='neg_log_loss')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=StratifiedKFold(n_splits=5, random_state=None, shuffle=False),\n",
       "             error_score=nan,\n",
       "             estimator=LogisticRegression(C=1.0, class_weight=None, dual=False,\n",
       "                                          fit_intercept=True,\n",
       "                                          intercept_scaling=1, l1_ratio=None,\n",
       "                                          max_iter=1000, multi_class='auto',\n",
       "                                          n_jobs=None, penalty='l2',\n",
       "                                          random_state=None, solver='lbfgs',\n",
       "                                          tol=0.0001, verbose=0,\n",
       "                                          warm_start=False),\n",
       "             iid='deprecated', n_jobs=None,\n",
       "             param_grid={'C': [0.1, 1, 10, 100],\n",
       "                         'class_weight': (None, 'balanced')},\n",
       "             pre_dispatch='2*n_jobs', refit=True, return_train_score=False,\n",
       "             scoring='neg_log_loss', verbose=0)"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grid_search_lr.fit(train_x, train_y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegression(C=10, class_weight=None, dual=False, fit_intercept=True,\n",
       "                   intercept_scaling=1, l1_ratio=None, max_iter=1000,\n",
       "                   multi_class='auto', n_jobs=None, penalty='l2',\n",
       "                   random_state=None, solver='lbfgs', tol=0.0001, verbose=0,\n",
       "                   warm_start=False)"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "grid_search_lr.best_estimator_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "lr = grid_search_lr.best_estimator_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegression(C=10, class_weight=None, dual=False, fit_intercept=True,\n",
       "                   intercept_scaling=1, l1_ratio=None, max_iter=1000,\n",
       "                   multi_class='auto', n_jobs=None, penalty='l2',\n",
       "                   random_state=None, solver='lbfgs', tol=0.0001, verbose=0,\n",
       "                   warm_start=False)"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lr.fit(train_x, train_y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [],
   "source": [
    "preds = lr.predict_proba(val_x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.3355240588301555"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import log_loss\n",
    "\n",
    "log_loss(val_y, preds)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.3313326550832083"
      ]
     },
     "execution_count": 129,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.metrics import log_loss\n",
    "\n",
    "log_loss(val_y[:,1], preds)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Test Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 335,
   "metadata": {},
   "outputs": [],
   "source": [
    "test = pd.read_csv('Test.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 336,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>grade_A_Component_1</th>\n",
       "      <th>grade_A_Component_2</th>\n",
       "      <th>max_luminosity</th>\n",
       "      <th>thickness</th>\n",
       "      <th>xmin</th>\n",
       "      <th>xmax</th>\n",
       "      <th>ymin</th>\n",
       "      <th>ymax</th>\n",
       "      <th>pixel_area</th>\n",
       "      <th>log_area</th>\n",
       "      <th>x_component_1</th>\n",
       "      <th>x_component_2</th>\n",
       "      <th>x_component_3</th>\n",
       "      <th>x_component_4</th>\n",
       "      <th>x_component_5</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>123</td>\n",
       "      <td>65</td>\n",
       "      <td>33</td>\n",
       "      <td>54</td>\n",
       "      <td>1646439</td>\n",
       "      <td>1646893</td>\n",
       "      <td>632</td>\n",
       "      <td>632.391749</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>158</td>\n",
       "      <td>99</td>\n",
       "      <td>125</td>\n",
       "      <td>132</td>\n",
       "      <td>189874</td>\n",
       "      <td>189529</td>\n",
       "      <td>421</td>\n",
       "      <td>421.928609</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>120</td>\n",
       "      <td>35</td>\n",
       "      <td>64</td>\n",
       "      <td>75</td>\n",
       "      <td>12986873</td>\n",
       "      <td>12986862</td>\n",
       "      <td>272</td>\n",
       "      <td>272.212214</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>130</td>\n",
       "      <td>39</td>\n",
       "      <td>57</td>\n",
       "      <td>177</td>\n",
       "      <td>309634</td>\n",
       "      <td>310824</td>\n",
       "      <td>3312</td>\n",
       "      <td>3312.310581</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>142</td>\n",
       "      <td>75</td>\n",
       "      <td>23</td>\n",
       "      <td>79</td>\n",
       "      <td>5368307</td>\n",
       "      <td>5367467</td>\n",
       "      <td>862</td>\n",
       "      <td>862.499179</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   grade_A_Component_1  grade_A_Component_2  max_luminosity  thickness  xmin  \\\n",
       "0                    1                    0             123         65    33   \n",
       "1                    0                    1             158         99   125   \n",
       "2                    0                    1             120         35    64   \n",
       "3                    0                    1             130         39    57   \n",
       "4                    1                    0             142         75    23   \n",
       "\n",
       "   xmax      ymin      ymax  pixel_area     log_area  x_component_1  \\\n",
       "0    54   1646439   1646893         632   632.391749              0   \n",
       "1   132    189874    189529         421   421.928609              0   \n",
       "2    75  12986873  12986862         272   272.212214              1   \n",
       "3   177    309634    310824        3312  3312.310581              0   \n",
       "4    79   5368307   5367467         862   862.499179              0   \n",
       "\n",
       "   x_component_2  x_component_3  x_component_4  x_component_5  \n",
       "0              1              0              0              0  \n",
       "1              0              0              0              0  \n",
       "2              0              0              0              0  \n",
       "3              0              1              0              0  \n",
       "4              0              0              0              0  "
      ]
     },
     "execution_count": 336,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 337,
   "metadata": {},
   "outputs": [],
   "source": [
    "test['log_max_luminosity'] = np.log(test['max_luminosity'])\n",
    "test['log_pixel_area'] = np.log(test['pixel_area'])\n",
    "\n",
    "test['log_xrange'] = np.log1p(abs(test['xmax'] - test['xmin']))\n",
    "test['sqrt_yrange'] = np.sqrt(abs(test['ymax'] - test['ymin']))\n",
    "\n",
    "test['max_luminosity/thickness'] = test['max_luminosity']/test['thickness']\n",
    "\n",
    "test['avg_x_component'] = (test['x_component_1'] + test['x_component_2'] + test['x_component_3'] + test['x_component_4'] + test['x_component_5'])/5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 338,
   "metadata": {},
   "outputs": [],
   "source": [
    "test = test.drop(['grade_A_Component_2','log_area'], axis = 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 339,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>grade_A_Component_1</th>\n",
       "      <th>max_luminosity</th>\n",
       "      <th>thickness</th>\n",
       "      <th>xmin</th>\n",
       "      <th>xmax</th>\n",
       "      <th>ymin</th>\n",
       "      <th>ymax</th>\n",
       "      <th>pixel_area</th>\n",
       "      <th>x_component_1</th>\n",
       "      <th>x_component_2</th>\n",
       "      <th>x_component_3</th>\n",
       "      <th>x_component_4</th>\n",
       "      <th>x_component_5</th>\n",
       "      <th>log_max_luminosity</th>\n",
       "      <th>log_pixel_area</th>\n",
       "      <th>log_xrange</th>\n",
       "      <th>sqrt_yrange</th>\n",
       "      <th>max_luminosity/thickness</th>\n",
       "      <th>avg_x_component</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>123</td>\n",
       "      <td>65</td>\n",
       "      <td>33</td>\n",
       "      <td>54</td>\n",
       "      <td>1646439</td>\n",
       "      <td>1646893</td>\n",
       "      <td>632</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.812184</td>\n",
       "      <td>6.448889</td>\n",
       "      <td>3.091042</td>\n",
       "      <td>21.307276</td>\n",
       "      <td>1.892308</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>158</td>\n",
       "      <td>99</td>\n",
       "      <td>125</td>\n",
       "      <td>132</td>\n",
       "      <td>189874</td>\n",
       "      <td>189529</td>\n",
       "      <td>421</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5.062595</td>\n",
       "      <td>6.042633</td>\n",
       "      <td>2.079442</td>\n",
       "      <td>18.574176</td>\n",
       "      <td>1.595960</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>120</td>\n",
       "      <td>35</td>\n",
       "      <td>64</td>\n",
       "      <td>75</td>\n",
       "      <td>12986873</td>\n",
       "      <td>12986862</td>\n",
       "      <td>272</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.787492</td>\n",
       "      <td>5.605802</td>\n",
       "      <td>2.484907</td>\n",
       "      <td>3.316625</td>\n",
       "      <td>3.428571</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>130</td>\n",
       "      <td>39</td>\n",
       "      <td>57</td>\n",
       "      <td>177</td>\n",
       "      <td>309634</td>\n",
       "      <td>310824</td>\n",
       "      <td>3312</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.867534</td>\n",
       "      <td>8.105308</td>\n",
       "      <td>4.795791</td>\n",
       "      <td>34.496377</td>\n",
       "      <td>3.333333</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>142</td>\n",
       "      <td>75</td>\n",
       "      <td>23</td>\n",
       "      <td>79</td>\n",
       "      <td>5368307</td>\n",
       "      <td>5367467</td>\n",
       "      <td>862</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.955827</td>\n",
       "      <td>6.759255</td>\n",
       "      <td>4.043051</td>\n",
       "      <td>28.982753</td>\n",
       "      <td>1.893333</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   grade_A_Component_1  max_luminosity  thickness  xmin  xmax      ymin  \\\n",
       "0                    1             123         65    33    54   1646439   \n",
       "1                    0             158         99   125   132    189874   \n",
       "2                    0             120         35    64    75  12986873   \n",
       "3                    0             130         39    57   177    309634   \n",
       "4                    1             142         75    23    79   5368307   \n",
       "\n",
       "       ymax  pixel_area  x_component_1  x_component_2  x_component_3  \\\n",
       "0   1646893         632              0              1              0   \n",
       "1    189529         421              0              0              0   \n",
       "2  12986862         272              1              0              0   \n",
       "3    310824        3312              0              0              1   \n",
       "4   5367467         862              0              0              0   \n",
       "\n",
       "   x_component_4  x_component_5  log_max_luminosity  log_pixel_area  \\\n",
       "0              0              0            4.812184        6.448889   \n",
       "1              0              0            5.062595        6.042633   \n",
       "2              0              0            4.787492        5.605802   \n",
       "3              0              0            4.867534        8.105308   \n",
       "4              0              0            4.955827        6.759255   \n",
       "\n",
       "   log_xrange  sqrt_yrange  max_luminosity/thickness  avg_x_component  \n",
       "0    3.091042    21.307276                  1.892308              0.2  \n",
       "1    2.079442    18.574176                  1.595960              0.0  \n",
       "2    2.484907     3.316625                  3.428571              0.2  \n",
       "3    4.795791    34.496377                  3.333333              0.2  \n",
       "4    4.043051    28.982753                  1.893333              0.0  "
      ]
     },
     "execution_count": 339,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "test.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 340,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>grade_A_Component_1</th>\n",
       "      <th>max_luminosity</th>\n",
       "      <th>thickness</th>\n",
       "      <th>xmin</th>\n",
       "      <th>xmax</th>\n",
       "      <th>ymin</th>\n",
       "      <th>ymax</th>\n",
       "      <th>pixel_area</th>\n",
       "      <th>x_component_1</th>\n",
       "      <th>x_component_2</th>\n",
       "      <th>x_component_3</th>\n",
       "      <th>x_component_4</th>\n",
       "      <th>x_component_5</th>\n",
       "      <th>log_max_luminosity</th>\n",
       "      <th>log_pixel_area</th>\n",
       "      <th>log_xrange</th>\n",
       "      <th>sqrt_yrange</th>\n",
       "      <th>max_luminosity/thickness</th>\n",
       "      <th>avg_x_component</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>150</td>\n",
       "      <td>36</td>\n",
       "      <td>144</td>\n",
       "      <td>172</td>\n",
       "      <td>947225</td>\n",
       "      <td>947332</td>\n",
       "      <td>439</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5.010635</td>\n",
       "      <td>6.084499</td>\n",
       "      <td>3.367296</td>\n",
       "      <td>10.344080</td>\n",
       "      <td>4.166667</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>134</td>\n",
       "      <td>55</td>\n",
       "      <td>1144</td>\n",
       "      <td>1152</td>\n",
       "      <td>2379058</td>\n",
       "      <td>2379624</td>\n",
       "      <td>329</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.897840</td>\n",
       "      <td>5.796058</td>\n",
       "      <td>2.197225</td>\n",
       "      <td>23.790755</td>\n",
       "      <td>2.436364</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>135</td>\n",
       "      <td>65</td>\n",
       "      <td>950</td>\n",
       "      <td>974</td>\n",
       "      <td>1038442</td>\n",
       "      <td>1036754</td>\n",
       "      <td>300</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.905275</td>\n",
       "      <td>5.703782</td>\n",
       "      <td>3.218876</td>\n",
       "      <td>41.085277</td>\n",
       "      <td>2.076923</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>123</td>\n",
       "      <td>35</td>\n",
       "      <td>41</td>\n",
       "      <td>220</td>\n",
       "      <td>1705580</td>\n",
       "      <td>1705604</td>\n",
       "      <td>6803</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.812184</td>\n",
       "      <td>8.825119</td>\n",
       "      <td>5.192957</td>\n",
       "      <td>4.898979</td>\n",
       "      <td>3.514286</td>\n",
       "      <td>0.2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>138</td>\n",
       "      <td>69</td>\n",
       "      <td>462</td>\n",
       "      <td>466</td>\n",
       "      <td>1088124</td>\n",
       "      <td>1086579</td>\n",
       "      <td>251</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4.927254</td>\n",
       "      <td>5.525453</td>\n",
       "      <td>1.609438</td>\n",
       "      <td>39.306488</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   grade_A_Component_1  max_luminosity  thickness  xmin  xmax     ymin  \\\n",
       "0                    0             150         36   144   172   947225   \n",
       "1                    1             134         55  1144  1152  2379058   \n",
       "2                    1             135         65   950   974  1038442   \n",
       "3                    0             123         35    41   220  1705580   \n",
       "4                    1             138         69   462   466  1088124   \n",
       "\n",
       "      ymax  pixel_area  x_component_1  x_component_2  x_component_3  \\\n",
       "0   947332         439              0              0              1   \n",
       "1  2379624         329              1              0              0   \n",
       "2  1036754         300              0              0              0   \n",
       "3  1705604        6803              0              0              1   \n",
       "4  1086579         251              0              0              0   \n",
       "\n",
       "   x_component_4  x_component_5  log_max_luminosity  log_pixel_area  \\\n",
       "0              0              0            5.010635        6.084499   \n",
       "1              0              0            4.897840        5.796058   \n",
       "2              0              0            4.905275        5.703782   \n",
       "3              0              0            4.812184        8.825119   \n",
       "4              0              0            4.927254        5.525453   \n",
       "\n",
       "   log_xrange  sqrt_yrange  max_luminosity/thickness  avg_x_component  \n",
       "0    3.367296    10.344080                  4.166667              0.2  \n",
       "1    2.197225    23.790755                  2.436364              0.2  \n",
       "2    3.218876    41.085277                  2.076923              0.0  \n",
       "3    5.192957     4.898979                  3.514286              0.2  \n",
       "4    1.609438    39.306488                  2.000000              0.0  "
      ]
     },
     "execution_count": 340,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 341,
   "metadata": {},
   "outputs": [],
   "source": [
    "scaler = StandardScaler()\n",
    "\n",
    "train = scaler.fit_transform(data.values)\n",
    "test = scaler.transform(test.values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 342,
   "metadata": {},
   "outputs": [],
   "source": [
    "bc = BaggingClassifier(base_estimator=ExtraTreesClassifier(n_estimators=80, max_features=7), random_state=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 349,
   "metadata": {},
   "outputs": [],
   "source": [
    "scores = cross_val_score(bc, train, target, cv = StratifiedKFold(n_splits=5,shuffle = True), scoring = 'neg_log_loss')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 350,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-0.27440101190632554"
      ]
     },
     "execution_count": 350,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "scores.mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 351,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "BaggingClassifier(base_estimator=ExtraTreesClassifier(bootstrap=False,\n",
       "                                                      ccp_alpha=0.0,\n",
       "                                                      class_weight=None,\n",
       "                                                      criterion='gini',\n",
       "                                                      max_depth=None,\n",
       "                                                      max_features=7,\n",
       "                                                      max_leaf_nodes=None,\n",
       "                                                      max_samples=None,\n",
       "                                                      min_impurity_decrease=0.0,\n",
       "                                                      min_impurity_split=None,\n",
       "                                                      min_samples_leaf=1,\n",
       "                                                      min_samples_split=2,\n",
       "                                                      min_weight_fraction_leaf=0.0,\n",
       "                                                      n_estimators=80,\n",
       "                                                      n_jobs=None,\n",
       "                                                      oob_score=False,\n",
       "                                                      random_state=None,\n",
       "                                                      verbose=0,\n",
       "                                                      warm_start=False),\n",
       "                  bootstrap=True, bootstrap_features=False, max_features=1.0,\n",
       "                  max_samples=1.0, n_estimators=10, n_jobs=None,\n",
       "                  oob_score=False, random_state=0, verbose=0, warm_start=False)"
      ]
     },
     "execution_count": 351,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bc.fit(train, target)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 353,
   "metadata": {},
   "outputs": [],
   "source": [
    "preds = bc.predict_proba(test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 354,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1.     , 0.1425 , 1.     , 1.     , 0.5325 , 0.9625 , 1.     ,\n",
       "       1.     , 0.99375, 0.2725 , 0.20625, 1.     , 0.23625, 0.60375,\n",
       "       1.     , 0.2425 , 1.     , 0.42125, 0.68375, 0.54   , 0.48   ,\n",
       "       0.615  , 1.     , 0.72625, 1.     , 0.13375, 1.     , 1.     ,\n",
       "       0.07   , 0.99875, 1.     , 0.495  , 0.17875, 0.2275 , 0.41125,\n",
       "       0.255  , 0.0375 , 0.80125, 0.09875, 0.4725 , 0.995  , 0.1125 ,\n",
       "       1.     , 0.46625, 0.8225 , 0.2775 , 0.72   , 0.5175 , 0.25125,\n",
       "       0.51875, 0.9975 , 0.58375, 0.42875, 0.01625, 1.     , 0.1475 ,\n",
       "       0.4575 , 0.2    , 1.     , 1.     , 1.     , 0.18625, 0.23875,\n",
       "       0.04   , 0.20625, 1.     , 1.     , 0.02625, 0.22   , 0.70125,\n",
       "       0.7225 , 0.25   , 1.     , 0.62125, 0.21   , 1.     , 0.55125,\n",
       "       1.     , 0.19   , 0.49625, 0.2625 , 0.50375, 1.     , 1.     ,\n",
       "       0.81875, 0.48375, 1.     , 0.58875, 0.0275 , 0.61375, 0.60875,\n",
       "       1.     , 1.     , 0.15625, 1.     , 0.64375, 0.81   , 1.     ,\n",
       "       1.     , 0.995  , 0.14375, 1.     , 0.98375, 1.     , 1.     ,\n",
       "       0.99875, 0.9975 , 1.     , 0.8375 , 1.     , 0.20375, 1.     ,\n",
       "       0.5325 , 1.     , 1.     , 1.     , 0.43   , 1.     , 0.25   ,\n",
       "       0.52   , 0.16625, 0.395  , 1.     , 0.535  , 0.42625, 0.72375,\n",
       "       1.     , 1.     , 0.375  , 0.1975 , 0.37625, 1.     , 0.15875,\n",
       "       1.     , 0.655  , 0.07625, 1.     , 0.1925 , 0.99625, 0.655  ,\n",
       "       1.     , 1.     , 0.43375, 0.0725 , 1.     , 0.1425 , 1.     ,\n",
       "       0.8025 , 0.1975 , 1.     , 0.3125 , 0.04625, 0.11875, 1.     ,\n",
       "       1.     , 1.     , 0.305  , 0.46   , 1.     , 1.     , 0.4775 ,\n",
       "       1.     , 1.     , 1.     , 1.     , 1.     , 0.28125, 0.325  ,\n",
       "       0.21625, 0.2625 , 0.04875, 0.9775 , 0.34125, 1.     , 1.     ,\n",
       "       0.41125, 0.695  , 1.     , 0.99875, 0.125  , 0.25375, 0.04375,\n",
       "       1.     , 1.     , 1.     , 0.54875, 0.10625, 0.3525 , 1.     ,\n",
       "       0.9975 , 0.85375, 0.6725 , 0.73125, 1.     , 0.73   , 1.     ,\n",
       "       0.2025 , 1.     , 0.22125, 0.8    , 0.82375, 0.55375, 0.22875,\n",
       "       0.38625, 0.2175 , 0.29   , 0.1    , 1.     , 0.35625, 0.58625,\n",
       "       1.     , 0.16125, 0.17375, 1.     , 1.     , 1.     , 1.     ,\n",
       "       0.58625, 0.49125, 0.28625, 0.69125, 0.755  , 1.     , 1.     ,\n",
       "       0.23875, 1.     , 0.23625, 0.46375, 0.2475 , 0.46375, 1.     ,\n",
       "       1.     , 1.     , 0.2925 , 0.355  , 1.     , 0.47375, 0.69375,\n",
       "       0.15625, 0.375  , 0.0875 , 1.     , 0.425  , 0.5375 , 0.9975 ,\n",
       "       1.     , 0.99375, 0.43125, 1.     , 0.185  , 0.10375, 0.99875,\n",
       "       1.     , 0.37125, 0.0175 , 0.535  , 0.16875, 0.26625, 1.     ,\n",
       "       1.     , 0.02125, 0.99875, 0.705  , 0.48   , 0.02875, 0.45625,\n",
       "       1.     , 0.47375, 1.     , 0.48125, 0.145  , 0.99875, 0.09375,\n",
       "       0.425  , 0.315  , 0.29125, 1.     , 0.745  , 1.     , 0.295  ,\n",
       "       0.11375, 1.     , 0.33   , 1.     , 0.7575 , 0.455  , 0.43   ,\n",
       "       1.     , 0.2225 , 0.5675 , 0.27625, 1.     , 1.     , 0.48625,\n",
       "       0.47125, 1.     , 1.     , 1.     , 0.205  , 0.4875 , 0.0325 ,\n",
       "       0.46875, 0.5025 , 0.40375, 0.6925 , 1.     , 0.25   , 0.79875,\n",
       "       0.05375, 1.     , 1.     , 1.     , 1.     , 1.     , 1.     ,\n",
       "       1.     , 1.     , 1.     , 0.775  , 1.     , 1.     , 0.665  ,\n",
       "       0.99875, 0.9975 , 0.02375, 0.10375, 0.50625, 0.37125, 0.81875,\n",
       "       1.     , 0.25375, 1.     , 0.34   , 1.     , 0.85375, 0.555  ,\n",
       "       1.     , 1.     , 1.     , 0.2675 , 1.     , 1.     , 0.055  ,\n",
       "       0.84375, 0.2125 , 0.03375, 0.38125, 0.19375, 1.     , 1.     ,\n",
       "       1.     , 0.69125, 0.1975 , 0.24125, 1.     , 0.24875, 1.     ,\n",
       "       0.83625, 0.15625, 1.     , 1.     , 0.5    , 0.435  , 0.07   ,\n",
       "       0.99375, 1.     , 1.     , 1.     , 0.78125, 1.     , 0.39125,\n",
       "       0.1125 , 0.6325 , 0.5875 , 0.40875, 1.     , 0.335  , 1.     ,\n",
       "       1.     , 0.69   , 1.     , 0.47875, 1.     , 1.     , 0.63875,\n",
       "       1.     , 0.24375, 0.99875, 0.67125, 0.99875, 0.99875, 0.585  ,\n",
       "       0.1525 , 0.24875, 1.     , 0.19125, 0.08   , 1.     , 0.63   ,\n",
       "       1.     , 0.5775 , 0.54625, 1.     , 1.     , 0.99875, 0.46375,\n",
       "       0.44   , 0.23875, 0.405  , 0.02875, 0.65625, 0.1125 , 1.     ,\n",
       "       0.99875, 1.     , 1.     , 0.92625, 1.     , 0.295  , 1.     ,\n",
       "       0.03125, 1.     , 0.74   , 0.78375, 0.685  , 0.48125, 1.     ,\n",
       "       1.     , 0.395  , 1.     , 1.     , 0.3825 , 1.     , 0.21125,\n",
       "       0.1975 , 1.     , 0.6175 , 1.     , 0.96875, 1.     , 0.50875,\n",
       "       0.09875, 0.1175 , 0.76375, 1.     , 1.     , 1.     , 1.     ,\n",
       "       0.20875, 1.     , 1.     , 1.     , 1.     , 0.99875, 0.6675 ,\n",
       "       1.     , 0.11   , 1.     , 1.     , 1.     , 1.     , 1.     ,\n",
       "       0.47375, 0.19125, 1.     , 0.1175 , 0.29875, 1.     , 1.     ,\n",
       "       0.60375, 0.14875, 0.9975 , 1.     , 0.2875 , 1.     , 1.     ,\n",
       "       1.     , 0.03375, 0.115  , 0.38375, 1.     , 0.1375 , 1.     ,\n",
       "       1.     , 1.     , 1.     , 0.09125, 1.     , 0.09875, 0.99875,\n",
       "       0.985  , 0.0825 , 0.395  , 0.68375, 1.     , 1.     , 0.9975 ,\n",
       "       0.18375, 0.39375, 0.20375, 0.35375, 0.02   , 0.345  , 0.59   ,\n",
       "       1.     , 0.61625, 0.99875, 0.685  , 0.49375, 1.     , 0.46   ,\n",
       "       0.41375, 1.     , 0.215  , 1.     , 0.31875, 0.26   , 0.9875 ,\n",
       "       0.88125, 0.65625, 0.25125, 0.05625, 0.285  , 0.905  , 0.99875,\n",
       "       1.     , 1.     , 0.71125, 0.99   , 0.70625, 0.29625, 0.7125 ,\n",
       "       0.64375, 0.1725 , 1.     , 1.     , 0.5175 , 0.39375, 1.     ,\n",
       "       0.275  , 1.     , 1.     , 1.     , 1.     , 0.37   , 1.     ,\n",
       "       1.     , 1.     , 1.     , 1.     , 1.     , 0.02875, 0.42625,\n",
       "       0.24875, 1.     , 0.21125, 0.195  , 0.6175 , 1.     , 0.0425 ,\n",
       "       0.99875, 0.25   , 0.13875, 1.     , 0.6275 , 1.     , 1.     ,\n",
       "       0.37375, 0.51625, 1.     , 0.395  , 0.4025 , 0.345  , 1.     ,\n",
       "       0.5625 , 0.0725 , 1.     , 0.59125, 0.7675 , 0.99875, 1.     ,\n",
       "       0.98125, 1.     ])"
      ]
     },
     "execution_count": 354,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "preds[:,0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 355,
   "metadata": {},
   "outputs": [],
   "source": [
    "sub = pd.read_excel('Sample_Submission.xlsx')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 356,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>0</td>\n",
       "      <td>0.600493</td>\n",
       "      <td>0.399507</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1</td>\n",
       "      <td>0.532010</td>\n",
       "      <td>0.467990</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>2</td>\n",
       "      <td>0.892149</td>\n",
       "      <td>0.107851</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>3</td>\n",
       "      <td>0.694834</td>\n",
       "      <td>0.305166</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>4</td>\n",
       "      <td>0.740557</td>\n",
       "      <td>0.259443</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          1         2\n",
       "0  0.600493  0.399507\n",
       "1  0.532010  0.467990\n",
       "2  0.892149  0.107851\n",
       "3  0.694834  0.305166\n",
       "4  0.740557  0.259443"
      ]
     },
     "execution_count": 356,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sub.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 357,
   "metadata": {},
   "outputs": [],
   "source": [
    "sub[1] = preds[:,0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 358,
   "metadata": {},
   "outputs": [],
   "source": [
    "sub[2] = preds[:,1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 359,
   "metadata": {},
   "outputs": [],
   "source": [
    "sub.to_excel('baseline.xlsx', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
